簡體   English   中英

Mysql 觸發 if 語句更新第二張表

[英]Mysql trigger if statement update second table

我正在嘗試創建一個 mysql 觸發器。 這就是我要創建的內容,但不知何故它告訴我:“您的 SQL 語法有錯誤;請查看與您的 MySQL 服務器版本相對應的手冊,了解在“A FOR EACH ROW”附近使用的正確語法。

我在這里做錯了什么? 我試圖以不同的方式命名它們,但它似乎不起作用。

delimiter //
CREATE TRIGGER stock_update BEFORE UPDATE ON `stock` A
       FOR EACH ROW
       BEGIN
           IF NEW.`quantity` < 1 THEN //belongs to alias A
               UPDATE `ps_product` B
               SET B.`visibility` = 'none';
               WHERE id_product = OLD.id_product  //Should be the id_product of A alias
           ELSEIF NEW.quantity > 0 THEN
               UPDATE `ps_product` C
               SET C.`visibility` = 'both';
               WHERE id_product = OLD.id_product //Should be the id_product of A alias
           END IF;
       END;//
delimiter ;

試試這個

delimiter //
CREATE TRIGGER stock_update BEFORE UPDATE ON `stock` 
       FOR EACH ROW
       BEGIN
           IF NEW.`quantity` < 1 THEN #belongs to alias A
               UPDATE `ps_product` B
               SET B.`visibility` = 'none'
               WHERE id_product = OLD.id_product;  #Should be the id_product of A alias
           ELSEIF NEW.quantity > 0 THEN
               UPDATE `ps_product` C
               SET C.`visibility` = 'both'
               WHERE id_product = OLD.id_product; #//Should be the id_product of A alias
           END IF;
       END;//
delimiter ;

這表明 mysql 工作台中沒有錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM