我正在从表ItemBorrower创建一个触发器,用于更新表Item中的字段。当ItemBorrower插入新条目时,Item表中的currentDate字段应更新为今天的日期。这是我的触发器:
CREATE TRIGGER checkoutItem BEFORE INSERT ON ItemBorrower
FOR EACH ROW UPDATE Item
BEGIN
SET Item.checkoutDate = CURDATE()
WHERE NEW.itemID = Item.itemID
END;
我得到的错误是关于最后一行:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第8行'END'附近
我玩过限制器(删除它,在Item.itemID之后添加“;”),但没有明显的效果。可能是我也完全错了。
任何帮助表示赞赏!
谢谢,
Jona的
答案 0 :(得分:2)
我不是100%确定你想从触发器中完成什么。我假设您有一个名为item的表,并且您希望使用checkoutDate
中item.itemID = the last insert id
的当前日期更新ItemBorrower
列。
试试此代码
delimiter //
CREATE TRIGGER checkoutItem BEFORE INSERT ON ItemBorrower
FOR EACH ROW
BEGIN
UPDATE Item
SET checkoutDate = CURDATE()
WHERE itemID = NEW.itemID;
END; //
delimiter ;