テーブルを結合して MySQL レコードを更新する
データベース内の複数のテーブルを扱う場合、多くの場合、別のテーブルの値に基づいてレコードを更新する必要があります。テーブル。この記事では、単一のクエリを使用して MySQL でこのような更新を実行する方法を説明します。
次のシナリオを考えてみましょう。1 つは SUBST_ID 値と CREATED_ID 値を持つテーブルで、もう 1 つは SERIAL_ID 値と空の BRANCH_ID 値を持つテーブルです。 2 番目のテーブルの BRANCH_ID 列を、最初のテーブルの対応する CREATED_ID 値で更新したいと考えています。
これを実現するには、一致する SERIAL_ID 列と SUBST_ID 列に対して 2 つのテーブル間の結合操作を使用します。次のクエリは、解決策を示しています。
UPDATE TABLE2 JOIN TABLE1 ON TABLE2.SERIAL_ID = TABLE1.SUBST_ID SET TABLE2.BRANCH_ID = TABLE1.CREATED_ID;
このクエリでは、UPDATE ステートメントが TABLE2 テーブルを更新し、SERIAL_ID と SUBST_ID が一致するという条件で TABLE1 テーブルと結合します。 SET 句は、TABLE2 の BRANCH_ID 列を、TABLE1 の一致する CREATED_ID 列に設定します。
このクエリを実行すると、TABLE1 の適切な CREATED_ID 値で TABLE2 のすべての行が正常に更新され、2 つの間のデータの一貫性が確保されます。テーブル。
以上がJOIN 操作を使用して MySQL レコードを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。