2015-02-06 345 views
1

如何在mySQL中創建複合主鍵。在table1中,我需要將id1,id2設置爲複合主鍵。我用這個查詢。但它使每個都成爲主鍵。它會檢查每個條目MySQL複合主鍵唯一性

ALTER TABLE `table1` 
    DROP PRIMARY KEY, 
    ADD PRIMARY KEY(
    `id1`, 
    `id2`); 

的副本當我插入兩行

insert "a","b" 
insert "a","c" 

1062 - 重複入門 '1408181771009' 鑰匙 'pk_sentiments'

insert "a","c" 
insert "b","c" 

工作正常。我無法理解這種行爲。如何解決這個問題?

+0

我們假定你是( 「A」, 「B」)被插入爲(ID1,ID2),但是因爲錯誤報告不同的價值觀,這不是這種情況。你的表結構是什麼? – koriander 2015-02-06 21:36:40

+0

它只是兩個字符串。在我的情況下,id1-id2需要是主鍵,但是當我插入相同的id1但不同的id2時,它顯示此錯誤 – Burusothman 2015-02-06 21:38:27

+0

您的'alter'語句創建一個組合鍵。 – Jens 2015-02-06 21:55:12

回答

0

也許這:

ALTER TABLE `table1` ADD UNIQUE KEY `id1_id2` (`id1`, `id2`);