我認爲這可能是MySQL的一個錯誤,但我不確定。任何人都可以告訴我如何爲表創建主鍵,然後重命名主約束?如果可能的話,在創建表格時使用所需的名稱創建主鍵。在MySQL上重命名主鍵約束
我創建的所有主鍵最終名爲「Primary」。已經嘗試在添加PK之前用所需的名稱創建索引,並使用MySQL Workbench重命名PK。他們都沒有工作。
任何人有任何想法是什麼錯誤,爲什麼我不能重命名PK名稱?
謝謝!
我認爲這可能是MySQL的一個錯誤,但我不確定。任何人都可以告訴我如何爲表創建主鍵,然後重命名主約束?如果可能的話,在創建表格時使用所需的名稱創建主鍵。在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客戶端爲所有主鍵提供的硬編碼名稱。
編輯:這裏的報價從the manual:
一個
PRIMARY KEY
的名字總是PRIMARY
,它因此不能 作爲名稱的任何其他類型的指數。
「PRIMARY」的名稱是硬編碼的MySQL,而不是客戶端。 – 2013-02-11 17:43:29
猜猜我只需要忍受這一點,或遷移到新的數據庫。謝謝! – 2013-02-12 09:11:43
這就是MySQL的方式,他們接受但忽略了幾件事情。從手冊引用「* PRIMARY KEY的名稱始終是PRIMARY *」:http://dev.mysql.com/doc/refman/5.5/en/create-table.html – 2013-02-11 17:39:50