0

これは些細な質問のように聞こえるかもしれませんが、私はあらゆる場所を見てきました。次のようなテーブルがあります。

id   var1
1
2    19353

id = 1 の var1 のエントリがなく、var1 のエントリを他の行からその場所にコピーして、

id   var1
1    19353
2    19353

私は試しましたが、失敗しました:

update table set var1 = (select var1 from table where id=2) where id=1;

何かアドバイス?ありがとう!

4

1 に答える 1

0

MySQL は、マルチテーブル更新 (a/k/a ) の構文について独自の考えを持っているようUPDATE FROMです。以下が必要なようです。ただし、テストする MySQL がありません。

UPDATE t AS t1, t AS t2
SET t1.var1 = t2.var1
WHERE t1.id=1 AND t2.id=2;

編集: テーブル名をt;に変更しました。そこに予約語は必要ありません。

于 2013-06-20T17:16:07.623 に答える