2016-08-16 2 views
0

UPDATE 문을 사용하여 두 개의 테이블을 업데이트하려고합니다. 내 목표는 : 이 스크립트는 여행 # 562, 에서 Lamar Lincoln의 예약을 삭제하고 여행 # 564에 Lamar Lincoln의 새로운 예약을 추가합니다. 다른 방법으로 업데이트 트랜잭션을 사용하여 동일한 결과를 얻을 수 있습니다. 그러나 중복 키 (6-562)가 있다는 오류가 표시됩니까? 두 trip_number 및 guest_id은 기본 키,하지만 라마 (guest_id = 9), 두 개의 여행, 562에 579 This is my DB designUPDATE 문을 쓸 때 중복되는 PRIMARY 키 오류가 발생했습니다.

use www; 
UPDATE reservation 
SET trip_number=564, 
WHERE trip_number=562, guest_id=9; 

답변

0

이 구문이 제안 시도 갈라. 같은 오류가 발생하면 다음 trip_number (562) 및 guest_id 9

모범 사례로 reservation에 한 개의 레코드가 존재해야한다 : 같은 테이블을 연결에서도 복합 기본 키에 대한 기록을 생성 한 후 기본 키 값을 변경하지 마십시오 이 하나.

DELETE FROM reservation WHERE guest_id = 9 AND trip_number = 562; 
INSERT INTO reservation (guest_id, trip_number) VALUES (9, 564); 
0

일부 구문 고정보십시오입니다 :

UPDATE reservation 
SET trip_number=564 
WHERE trip_number=562 AND guest_id=9; 
관련 문제