我有一个记录库存数量的表格。当股价走低时,我设置触发器来警告用户。测试时,触发器触发,显示消息,但股票未更新。我做错了什么?是否有另一种方法来设置触发器(不使用SIGNAL SQLSTATE)?我在uWamp中使用phpMyAdmin 4.2.7.1。感谢您的建议。当触发器在phpMyAdmin中触发时显示一条消息
代码触发:
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;