我有一个表格'foods',列有'featured','restaurant_id','retaurant_stock'。在同一条件下更新同一表上的“功能”列后,如何使用触发器或mySQL版本5.6上可用的任何其他解决方案更新列“ restaurant_stock”?计算的列在mySQL 5.6版上不可用。
这是我的触发器:
CREATE TRIGGER update_restaurant_stock BEFORE UPDATE ON foods
OR EACH ROW
BEGIN
IF NEW.featured = 1 THEN
UPDATE `foods` SET NEW.restaurant_stock = (NEW.restaurant_id);
ELSE
UPDATE `foods` SET NEW.restaurant_stock = 0;
END IF;
END
现在当我更新“功能”列时,出现以下错误消息:
#1442 - Can't update table 'foods' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
感谢您的帮助!