MySql数据库中有以下两个表:

Bookings
BookingID | ClientID | SeatID

SeatAvailability
SeatAvailabilityID | BookingID | ShowID | Available

它们与SeatID/SeatAvailabilityID有关。
我正在尝试编写一个触发器,每次在预订中插入行时,它都会更新SeatAvailability表。触发器应将SeatAvailability.Available更改为0,并将BookingID从Bookings输入SeatAvailability中具有相同SeatAvailabilityID的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 ON `cinemax`.`bookings`

而不是
AFTER UPDATE ON `cinemax`.`bookings`

关于mysql - MySQL触发器更新另一个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5502024/

10-09 08:47