0

列「id」の値を順番に設定しようとしていますが、クエリが機能しません:

UPDATE is_items SET id=(SELECT max(id)+1 FROM is_items WHERE id<160)

エラー:

[Err] 1093 - You can't specify target table 'is_items' for update in FROM clause

同じ問題について他の質問を見ましたが、解決策がよくわかりません...

前もって感謝します、

キングよろしく

4

1 に答える 1

0

ユーザー定義変数を使用して、2 つのステップで実行できます。

set @id := (SELECT max(id)+1 FROM is_items WHERE id<160);
UPDATE is_items SET id=@id;
于 2015-04-03T00:07:15.117 に答える