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 に答える