我有以下两个表在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