gpt4 book ai didi

mysql - 在 phpMyAdmin 中触发触发器时显示消息

转载 作者:行者123 更新时间:2023-11-30 22:24:33 25 4
gpt4 key购买 nike

我有一张记录库存数量的表格。我设置触发器以在库存低时警告用户。测试时,触发器触发,显示消息,但库存未更新。我做错了什么?还有另一种设置触发器的方法(不使用 SIGNAL SQLSTATE)吗?我在 uWamp 中使用 phpMyAdmin 4.2.7.1。感谢您的建议。

触发器代码:

DELIMITER $$
CREATE TRIGGER low_stock_message
AFTER update ON stock_quantity
FOR EACH ROW BEGIN
IF (NEW.Regular_Menu < 50) THEN
SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Warning, Regular Menu has a low stock!';
END IF;
IF (NEW.Savers < 50) THEN
SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Warning, Savers Menu has a low stock';
END IF;
IF (NEW.Breakfast < 50) THEN
SIGNAL SQLSTATE '02000' SET MESSAGE_TEXT = 'Warning, Breakfast Menu has a low stock!';
END IF;
END$$
DELIMITER ;

测试查询:

UPDATE stock_quantity
SET Regular_Menu=48
WHERE Outlet_ID=1;

最佳答案

我怀疑这是因为您正在使用 SIGNAL SQL STATE '02000'according to the documentation , 是异常信号。特别是,“如果信号在函数中未处理,则语句结束。”

关于mysql - 在 phpMyAdmin 中触发触发器时显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35655974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com