[英]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.