我正在尝试使用UPDATE语句更新两个表。我的目标是: 此脚本将从#562旅行中删除Lamar Lincoln的预订, 它将为Lamar Lincoln增加一个新的预订#564。 作为替代方案,您可以使用更新事务完成相同的目的。 但是,我收到一条错误,说明我有重复的密钥,6-562? trip_number和guest_id都是PRIMARY键,但是Lamar(guest_id = 9)是两次旅行,562,579。 This is my DB design
use www;
UPDATE reservation
SET trip_number=564,
WHERE trip_number=562, guest_id=9;
答案 0 :(得分:0)
尝试修复一些语法:
UPDATE reservation
SET trip_number=564
WHERE trip_number=562 AND guest_id=9;
答案 1 :(得分:0)
尝试Galz建议的语法。如果您收到相同的错误,那么reservation
trip_number
562和guest_id
9必须有记录。
最佳做法:在创建记录后不要更改主键值,即使对于像这样的链接表中的复合主键也是如此。
DELETE FROM reservation WHERE guest_id = 9 AND trip_number = 562;
INSERT INTO reservation (guest_id, trip_number) VALUES (9, 564);