Syntaxe de mise à jour de jointure MySQL pour la modification de capacité
Lors de la mise à jour de plusieurs tables dans MySQL, la syntaxe UPDATE multi-tables peut être utilisée. Explorons comment exploiter cette syntaxe pour résoudre un cas d'utilisation dans lequel nous devons augmenter la capacité d'un train en fonction d'une annulation de réservation.
Énoncé du problème :
Considérez deux tables, Train et Réservations. Nous souhaitons augmenter la capacité d'un train spécifique lorsqu'une réservation est annulée.
Train +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | TrainID | varchar(11) | NO | PRI | NULL | | | Capacity | int(11) | NO | | 50 | | +----------+-------------+------+-----+---------+-------+ Reservations +---------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+-------------+------+-----+---------+----------------+ | ReservationID | int(11) | NO | PRI | NULL | auto_increment | | FirstName | varchar(30) | NO | | NULL | | | LastName | varchar(30) | NO | | NULL | | | DDate | date | NO | | NULL | | | NoSeats | int(2) | NO | | NULL | | | Route | varchar(11) | NO | | NULL | | | Train | varchar(11) | NO | | NULL | | +---------------+-------------+------+-----+---------+----------------+
Solution :
En utilisant la syntaxe UPDATE multi-table, nous pouvons incrémenter la colonne Capacité dans la table Train en fonction de la valeur NoSeats dans la table Réservations, compte tenu d'un ReservationID.
UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID) SET t.Capacity = t.Capacity + r.NoSeats WHERE r.ReservationID = ?;
Alternativement, pour incrémenter d'un nombre arbitraire de sièges, remplacez simplement r.NoSeats par la valeur souhaitée dans la requête ci-dessus.
Considérations sur la transaction :
Oui, vous pouvez incrémenter et supprimer dans une transaction Java. Pour garantir l'intégrité des données, effectuez d'abord l'opération de mise à jour, suivie de la suppression.
En utilisant la syntaxe UPDATE multi-table, nous pouvons mettre à jour efficacement la table Train et modifier sa valeur de capacité en fonction de l'annulation de la réservation, maintenant ainsi données synchronisées sur plusieurs tables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!