> 데이터 베이스 > MySQL 튜토리얼 > 예약 취소 후 MySQL JOIN UPDATE를 사용하여 열차 용량을 늘리는 방법은 무엇입니까?

예약 취소 후 MySQL JOIN UPDATE를 사용하여 열차 용량을 늘리는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-04 00:29:39
원래의
344명이 탐색했습니다.

How to Use MySQL JOIN UPDATE to Increment Train Capacity After Reservation Cancellation?

조인 업데이트를 위한 MySQL 구문: 예약 취소 시 열차 용량 증가

다른 테이블의 정보를 기반으로 한 테이블의 열을 업데이트하려면, MySQL은 JOIN UPDATE 구문을 제공합니다. 이는 관련 테이블의 데이터를 기반으로 열을 업데이트해야 하는 시나리오에서 특히 유용할 수 있습니다.

예: 예약 취소 시 열차 용량 증가

두 가지를 고려하세요. 테이블, 기차 및 예약. Reservations 테이블에서 예약이 취소될 때 Train 테이블의 용량 열을 증가시키는 것이 목표입니다.

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    |                |
+---------------+-------------+------+-----+---------+----------------+
로그인 후 복사

증분 용량 쿼리

JOIN UPDATE 이 시나리오의 구문은 다음과 같습니다.

UPDATE Train t
JOIN Reservations r ON (t.TrainID = r.Train)
SET t.Capacity = t.Capacity + r.NoSeats
WHERE r.ReservationID = "15";
로그인 후 복사

이 경우 쿼리:

  • JOIN 절은 TrainID 열을 기반으로 Train과 Reservations 테이블 간의 관계를 설정합니다.
  • SET 절은 예약된 좌석 수에 따라 수용 인원을 늘립니다. 해당 예약.
  • WHERE 절은 다음을 기준으로 업데이트할 특정 예약을 지정합니다. ReservationID.

임의 값을 사용한 증분 업데이트

임의의 좌석 수만큼 용량을 늘리려면 r.NoSeats를 원하는 값으로 바꾸면 됩니다. SET 절:

UPDATE Train t
JOIN Reservations r ON (t.TrainID = r.Train)
SET t.Capacity = t.Capacity + 5;
로그인 후 복사

트랜잭션 관리

단일 트랜잭션에서 증가 및 삭제를 수행하려면:

// Java transaction management code

try {
  // Perform the capacity increment
  execute SQL UPDATE statement

  // Delete the reservation
  execute SQL DELETE statement
} catch (SQLException e) {
  // Transaction rollback logic if an error occurs
} finally {
  // Transaction cleanup logic
}
로그인 후 복사

삭제하기 전에 업데이트를 실행하면 예약이 제거되기 전에 용량이 올바르게 증가됩니다.

위 내용은 예약 취소 후 MySQL JOIN UPDATE를 사용하여 열차 용량을 늘리는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿