2013-03-22 53 views
2
UPDATE Table1, Table2 
SET Table1.Col1 = 1, Table1.Col2 = 2, Table2.Col1 = 3 
WHERE Table1.PKey = Table2.PKey AND Table1.PKey = 199 

導致重複鍵進入重複鍵WTO對更新查詢的MySQL

#1062 - Duplicate entry '199-1' for key 'PRIMARY' 

請幫助我一直在抓我的頭。我希望這個查詢是最優和快速的,因爲它在一個循環中使用,循環遍歷很多行併爲每個行更新。不想分裂成2個查詢,因爲它將是每行2個單獨的查詢調用。

回答

1

我覺得你的表1中的主鍵是PKEY和Col1中,即

CREATE TABLE `Table1` 
... 
PRIMARY KEY (`PKey`,`Col1`) 

有關重複條目在那個方向「199-1」點處的誤差。