MySQL 引擎:InnoDB如何在表中創建兩個varchar字段作爲主鍵?
我有一個表,我需要兩個字符串作爲主鍵。 原因是因爲我想要在這兩個字符串上進行DUPLICATE KEY UPDATE。 我該怎麼做? Ty提前。
MySQL 引擎:InnoDB如何在表中創建兩個varchar字段作爲主鍵?
我有一個表,我需要兩個字符串作爲主鍵。 原因是因爲我想要在這兩個字符串上進行DUPLICATE KEY UPDATE。 我該怎麼做? Ty提前。
的過程中你不應該把它們作爲主鍵。改爲使用它們作爲UNIQUE
索引,而ON DUPLICATE KEY UPDATE
仍然可以使用。我建議您將主鍵設置爲完全獨立於數據的單個整數類型列。
有一個看看這個例子:http://sqlfiddle.com/#!2/41f2d/1
你可以改變表,並定義兩列主鍵,
ALTER TABLE myTable ADD PRIMARY KEY (colA, colB);
或創建表
CREATE TABLE myTable
(
colA INT,
colB INT,
-- other fields here, ....
CONSTRAINT tb_pk PRIMARY KEY (colA, colB)
)
能外鍵也可以是複合主鍵內? –
因此,如果它們是'UNIQUE',DUPLICATE KEY UPDATE仍然有效? 還有更多...這些字段中可能存在相同數據的重複,只是組合不同。有什麼建議麼??或MySQL代碼? –
@DeusDeceit是的,它的工作方式與主鍵衝突幾乎完全一樣。 –
如何將兩個字段組合爲UNIQUE? –