2013-03-22 54 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”点处的误差。