MySQL の update 句で同じターゲット テーブルの使用を禁止する
P粉982009874
P粉982009874 2024-04-02 10:49:18
0
1
364

「employee」という名前のテーブルがあります。テーブル作成コードは次のとおりです:

リーリー

テーブルの内容は次のとおりです:

リーリー

今度は「e_id」を更新したいと思います。まずテーブル内に同じ e_id があるかどうかを確認します。テーブル内にない場合は、指定された e_id を持つ行のみを更新します。それ以外の場合は更新しません。 。 したがって、私のアップグレードクエリは次のとおりです:

リーリー

しかし、次のエラーが発生します:

エラー 1093 (HY000): FROM 句で更新するターゲット テーブル "employee" を指定できません 次のクエリを試してみました:

リーリー

しかし、これもテーブルの更新に失敗し、次の結果が表示されます:

リーリー

次のコードも試しました:

リーリー

しかし、これでもテーブルの更新に失敗し、次の結果が得られます。 クエリは OK、影響を受ける行は 0 (0.00 秒) 一致した行: 0 変更: 0 警告: 0 助けてください。よろしくお願いします。

P粉982009874
P粉982009874

全員に返信(1)
P粉604669414

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 一个>

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート