请帮帮我,我想在mysql服务器上创建触发器,但是服务器写了我
sql查询:文档
CREATE TRIGGER `dis_out_of_stock` AFTER UPDATE ON `ps_stock_available`
FOR EACH ROW
begin
UPDATE `ps_product_shop` SET active=0 WHERE id_product IN (SELECT
id_product FROM `ps_stock_available` WHERE quantity=0);
mysql说:文档
1064-您的sql语法有错误;请查看与mysql服务器版本相对应的手册,以获取第4行“”附近要使用的正确语法
这是我的密码:
创建触发器 dis_out_of_stock
更新后 ps_stock_available
每行
开始
更新 ps_product_shop
设置active=0,其中id\u product in(选择id\u product from ps_stock_available
其中数量=0);
更新 ps_product_shop
设置active=1,其中id\u product in(选择id\u product from ps_stock_available
其中数量>0);
结束
谢谢,祝你今天愉快。
2条答案
按热度按时间ktecyv1j1#
你需要重新定义
DELIMITER
去别的地方;
,例如:$$
另外,使用检查触发器是否已经存在DROP TRIGGER IF EXISTS
.最后,重新定义
DELIMITER
至;
尝试:vtwuwzda2#
您不应该尝试更新整个
ps_product_shop
table。相反,只需查看刚刚修改的记录: