2015-08-04 3 views
1

У меня есть две таблицы, таблица бронирования и таблица счетов. Я пытаюсь обновить таблицу бронирования с информацией о бронировании и получить максимальное значение из таблицы счетов и одновременно добавить ее в таблицу бронирования.SQL Query, введите максимальное значение из колонки другой таблицы

До сих пор у меня есть, но она не устанавливает каких-либо значений в столбце 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;'); 

любая помощь будет высоко ценится

ответ

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().

+0

Большое спасибо, это сработало отлично, со ссылкой на LAST_INSERT_ID(), MAX достаточно для того, что мне нужно сделать в данный момент, –