我有以下兩個表在MySQL數據庫:MySQL的觸發器來更新另一個表
Bookings
BookingID | ClientID | SeatID
SeatAvailability
SeatAvailabilityID | BookingID | ShowID | Available
他們正在SeatID/SeatAvailabilityID鏈接。 我試圖編寫一個觸發器,每次在預訂中插入一行時都更新SeatAvailability表。觸發器應該將SeatAvailability.Available更改爲0,並且還將同樣SeatAvailabilityID的SeatAvailability中的BookingID從預訂輸入到SeatID中的BookingID字段中。
我已經寫了這個觸發器,MySql接受它,但是在插入 時出錯「錯誤1054:'where子句'中的未知列'cinemax.bookings.SeatID'。
DELIMITER $$
USE `cinemax`$$
CREATE
DEFINER=`root`@`localhost`
TRIGGER `cinemax`.`update_available`
AFTER INSERT ON `cinemax`.`bookings`
FOR EACH ROW
UPDATE cinemax.seatavailability
SET cinemax.seatavailability.Availabe=0, cinemax.seatavailability.BookingID=cinemax.bookings.BookingID
WHERE cinemax.bookings.SeatID=cinemax.seatavailability.SeatAvailabilityID$$
您應該使用'AFTER INSERT'而不是'AFTER UPDATE' – Nishant 2011-03-31 15:10:12