[英]How to correct a MySQL “BEFORE INSERT” trigger's syntax?
我正在从表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之后添加“;”),但没有任何用处。 可能是我也完全犯错了。
任何帮助表示赞赏!
谢谢,
乔纳
我不是100%知道您要如何从触发器中实现目标。 我假设你有一个表称为项目,要更新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 ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.