我认为这可能是 MySQL 的一个错误,但我不确定。任何人都可以告诉我如何为表创建主键然后重命名主约束?如果可能的话,在创建表的过程中已经使用所需的名称创建了主键。
我创建的所有主键都以名称“Primary”结尾。在添加 PK 之前已尝试使用所需名称创建索引,并使用 MySQL Workbench 重命名 PK。他们都没有工作。
任何人都知道出了什么问题,为什么我不能重命名 PK 名称?
谢谢!
我认为这可能是 MySQL 的一个错误,但我不确定。任何人都可以告诉我如何为表创建主键然后重命名主约束?如果可能的话,在创建表的过程中已经使用所需的名称创建了主键。
我创建的所有主键都以名称“Primary”结尾。在添加 PK 之前已尝试使用所需名称创建索引,并使用 MySQL Workbench 重命名 PK。他们都没有工作。
任何人都知道出了什么问题,为什么我不能重命名 PK 名称?
谢谢!
我不确定 MySQL 一开始就允许给主键命名。虽然似乎有它的语法:
CREATE TABLE test (
test_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
CONSTRAINT my_test_pk PRIMARY KEY (test_id)
)
ENGINE=InnoDB;
......它没有出现在information_schema.TABLE_CONSTRAINTS
我能发现的任何其他地方,所以我觉得它只是默默地丢弃了。
您看到的名称可能是您的 GUI 客户端赋予所有主键的硬编码名称。
编辑:这是手册中的引述:
a 的名称
PRIMARY KEY
总是PRIMARY
,因此不能用作任何其他类型索引的名称。