【发布时间】:2016-12-11 15:43:42
【问题描述】:
我有两张桌子——一张叫bookloan,另一张叫bookcopy。在bookloan 表中,我有一个名为dateReturned 的datetime 字段,默认情况下为null,并且仅在归还书籍时填充。
在另一个表 (bookcopy) 中,我有一个可用的字段,当取一本书时,该字段的值更改为 0。现在我想在还书时将其改回1(当我的datetime 字段不再是null 并已更新时)。
我的问题是我用于此目的的代码(发布在下面)由于某种原因无法正常工作。
P.S 我没有收到任何错误。
USE `libdb`;
DELIMITER $$
DROP TRIGGER IF EXISTS libdb.bookloan_BEFORE_UPDATE$$
USE `libdb`$$
CREATE DEFINER=`root`@`localhost` TRIGGER `libdb`.`bookloan_BEFORE_UPDATE`
BEFORE UPDATE ON `bookloan`
FOR EACH ROW
BEGIN
IF NEW.dateReturned <=> OLD.dateReturned THEN
UPDATE bookcopy
SET isAvailable = 1
WHERE bookcopy.idBookCopy = NEW.BookCopy_idBookCopyFK;
END IF;
END$$
DELIMITER ;
【问题讨论】:
-
请包含触发器的完整代码。
-
完成,我编辑了我的问题。
标签: mysql sql database triggers