我有两张桌子,一张预订表和一张发票表。我正在尝试使用预订信息更新预订表,并从发票表中获取最大值,并同时将其插入预订表。
到目前为止,我有这个,但它没有为Booking.Invoice_id
列设置任何值
INSERT INTO Booking( user_id, Location_id, Accom_Id,StartDate,EndDate,
Vehreg,PartySize,Invoice_id )
VALUES ('$User_id', '$pitch', '$Accom' , '$start',
'$end','$Vreg','$guests','SELECT Max Invoice_id FROM Invoice;');
任何帮助将不胜感激
答案 0 :(得分:1)
使用insert . . . select
:
INSERT INTO Booking(user_id, Location_id, Accom_Id, StartDate, EndDate,
Vehreg, PartySize, Invoice_id )
SELECT '$User_id', '$pitch', '$Accom' , '$start',
'$end', '$Vreg', ' $guests',
MAX(Invoice_ID)
FROM Invoice;
但我的猜测是,您希望在向Invoice
中插入一行后立即运行此功能。在这种情况下,您应该使用LAST_INSERT_ID()
。