MySQL suporta um multi-table
UPDATE
sintaxe
, que ficaria aproximadamente assim:UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID)
SET t.Capacity = t.Capacity + r.NoSeats
WHERE r.ReservationID = ?;
Você pode atualizar o
Train
tabela e exclua das Reservations
tabela na mesma transação. Contanto que você faça a atualização primeiro e depois a exclusão em segundo lugar, deve funcionar.