2012-11-10 45 views

回答

4

的過程中你不應該把它們作爲主鍵。改爲使用它們作爲UNIQUE索引,而ON DUPLICATE KEY UPDATE仍然可以使用。我建議您將主鍵設置爲完全獨立於數據的單個整數類型列。

有一個看看這個例子:http://sqlfiddle.com/#!2/41f2d/1

+0

因此,如果它們是'UNIQUE',DUPLICATE KEY UPDATE仍然有效? 還有更多...這些字段中可能存在相同數據的重複,只是組合不同。有什麼建議麼??或MySQL代碼? –

+0

@DeusDeceit是的,它的工作方式與主鍵衝突幾乎完全一樣。 –

+0

如何將兩個字段組合爲UNIQUE? –

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) 
) 
+0

能外鍵也可以是複合主鍵內? –

相關問題