私は、両方のテーブルの電子メール フィールドが同じであるテーブル h8cyw_users のフィールド ブロックを 1 に設定しようとしています。次のスクリプトを使用しています。
UPDATE UPDATE table1
SET block='1'
WHERE email IN (SELECT db2.table2.email
FROM db2.table2
WHERE db2.table2.status_id='10');
次のエラーが発生します:
SQL の実行に失敗しました: SQL UPDATE UPDATE table1 SET block='1' WHERE email IN (SELECT db2.table2.email FROM db2.table2 WHERE db2.table2.status_id='10'); 失敗: SQL 構文にエラーがあります。1 行目の 'UPDATE table1 SET block='1' WHERE email IN (SELECT db2.table2' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
どこが間違っているのでしょうか?
答え1
「アップデート」という言葉が2回出てきます。試してみてください
UPDATE table1
SET block='1'
WHERE email IN (SELECT db2.table2.email
FROM db2.table2
WHERE db2.table2.status_id='10');