「employee」という名前のテーブルがあります。テーブル作成コードは次のとおりです:
リーリーテーブルの内容は次のとおりです:
リーリー今度は「e_id」を更新したいと思います。まずテーブル内に同じ e_id があるかどうかを確認します。テーブル内にない場合は、指定された e_id を持つ行のみを更新します。それ以外の場合は更新しません。 。 したがって、私のアップグレードクエリは次のとおりです:
リーリーしかし、次のエラーが発生します:
リーリーエラー 1093 (HY000): FROM 句で更新するターゲット テーブル "employee" を指定できません 次のクエリを試してみました:
しかし、これもテーブルの更新に失敗し、次の結果が表示されます:
リーリー次のコードも試しました:
リーリーしかし、これでもテーブルの更新に失敗し、次の結果が得られます。 クエリは OK、影響を受ける行は 0 (0.00 秒) 一致した行: 0 変更: 0 警告: 0 助けてください。よろしくお願いします。
リーリーNULL
は一部の人が期待しているものとは異なる動作をしますNOT IN
: https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=24c176ff4d4e2c52309aaca14cc121c5 それで聞いてくださいサブのWHERE e_id IS NOT NULL
。また、HAVING COUNT(*) >= 1
は常に 1 以上の値を返すため、削除できます...https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=2a0b036a7d1db9138e3ab29af3d346f8 一个>