반응형
업데이트 참여에 대한 MySQL 구문
이렇게 생긴 테이블이 두 개 있어요.
기차
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| TrainID | varchar(11) | NO | PRI | NULL | |
| Capacity | int(11) | NO | | 50 | |
+----------+-------------+------+-----+---------+-------+
예약
+---------------+-------------+------+-----+---------+----------------+
| 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 | |
+---------------+-------------+------+-----+---------+----------------+
현재 예약이 취소될 경우 열차의 용량을 늘리는 쿼리를 작성하려고 합니다.가입을 수행해야 하는 것은 알지만 Update 스테이트먼트에서 실행하는 방법을 잘 모르겠습니다.예를 들어, 특정 예약이 있는 열차의 정원을 얻는 방법을 알고 있습니다.아이디 이런 거
select Capacity
from Train
Join Reservations on Train.TrainID = Reservations.Train
where ReservationID = "15";
하지만 저는 이 작업을 수행하는 쿼리를 만들고 싶습니다.
Increment Train.Capacity by ReservationTable.NoSeats given a ReservationID
가능하다면 임의의 시트 수만큼 증가시키는 방법도 알고 싶습니다.덧붙여서 자바 트랜잭션 증분을 한 후 예약을 삭제할 예정입니다.삭제가 거래에 영향을 미칩니까?
도와줘서 고마워요!
MySQL은 다음과 같은 다중 테이블 구문을 지원합니다.
UPDATE Reservations r JOIN Train t ON (r.Train = t.TrainID)
SET t.Capacity = t.Capacity + r.NoSeats
WHERE r.ReservationID = ?;
를 갱신할 수 있습니다.Train
테이블에서 삭제하다Reservations
같은 트랜잭션에 테이블이 있습니다.업데이트를 먼저 수행한 후 삭제를 다시 수행하면 됩니다.
다음으로 갱신할 값을 결정하기 위한 join을 포함하는 UPDATE 문의 다른 예를 나타냅니다.이 경우 payee_id가 0(할당되지 않은 경우)이면 관련 계정 지불 ID로 transactions.payee_id를 업데이트하고 싶습니다.
UPDATE transactions t
JOIN account a ON a.id = t.account_id
JOIN account ap ON ap.id = a.pmt_act_id
SET t.payee_id = a.pmt_act_id
WHERE t.payee_id = 0
언급URL : https://stackoverflow.com/questions/2114534/mysql-syntax-for-join-update
반응형
'programing' 카테고리의 다른 글
여러 OR 조건이 있는 ZF2 원칙 쿼리 (0) | 2022.11.04 |
---|---|
PHP용 예쁜 프린트가 있나요? (0) | 2022.11.04 |
리소스는 문서로 해석되지만 MIME 유형의 응용 프로그램/zip과 함께 전송됨 (0) | 2022.11.04 |
datetime.date와 datetime을 결합하는 피토닉 방식.시간 객체 (0) | 2022.11.04 |
Javascript에서 일과를 시작하는 방법은 무엇입니까? (0) | 2022.11.04 |