2
UPDATE Table1, Table2
SET Table1.Col1 = 1, Table1.Col2 = 2, Table2.Col1 = 3 
WHERE Table1.PKey = Table2.PKey AND Table1.PKey = 199

导致重复的键输入

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

请帮助我一直在挠头。我希望这个查询是最佳且快速的,因为它在一个循环中使用,该循环遍历很多行并为每一行更新。不想拆分为 2 个查询,因为那将是每行 2 个单独的查询调用。

4

2 回答 2

2

您上面的查询应该有效 - 参考:

https://stackoverflow.com/a/9417254/1073631

猜测您正在尝试使用同一个表的另一行中已经存在的值更新主键(唯一)列 - 因此出现重复条目​​错误。

于 2013-03-22T21:19:35.907 回答
1

我认为您的 Table1 的主键在 PKey AND Col1 上,即

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

关于重复条目“199-1”的错误指向该方向。

于 2013-03-22T21:26:24.537 回答