MySQL understøtter en multi-table UPDATE
syntaks
, som ville se omtrent sådan ud:
UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID)
SET t.Capacity = t.Capacity + r.NoSeats
WHERE r.ReservationID = ?;
Du kan opdatere Train
tabel og slet fra Reservations
tabel i samme transaktion. Så længe du laver opdateringen først og derefter sletter den anden, burde det virke.