結合更新のための MySQL 構文
MySQL では、特定の構文を使用して複数テーブルの更新が可能です。この構文では、結合条件に基づいて複数のテーブルを更新できます。
結合更新の実装
次のシナリオを考えてみましょう。予約がキャンセルされます。これを実現するには、次のように結合更新クエリを使用します。
UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID) SET t.Capacity = t.Capacity + r.NoSeats WHERE r.ReservationID = ?;
where "?"キャンセルされた予約に関連付けられた予約 ID を表します。
任意の数による増分
上記のクエリを変更して、任意の座席数だけ収容力を増分できます。
UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID) SET t.Capacity = t.Capacity + <arbitrary_number> WHERE r.ReservationID = ?;
トランザクション動作
単一のトランザクションで列車の定員を増やしたり予約を削除したりする場合は、特定の順序に従うことが重要です。予約テーブルから削除する前に列車テーブルを更新する限り、トランザクションは整合性を維持します。
以上がMySQL で複数テーブルの更新 (JOIN UPDATE) を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。