数学函数在2表格列中使用Trigger MYSQL

时间:2011-12-15 16:29:48

标签: mysql triggers

我想将一些应用程序逻辑委托给数据库,以便学习一些项目,例如触发器

我有3列名为 item_quantity,items_committed items_available 。基本上,如果数量列中有5个项目,并且用户提交2个项目,则可用项目为3.我需要一个触发器来执行2列的减号功能(数量提交)每当更新任一列并更新该行的可用列中的差异结果时

以下是我使用的触发器,但是我收到此错误'SQL错误1193:未知的系统变量'items_available'

CREATE trigger `test`.`trigger_updateitems_available` AFTER UPDATE ON items FOR EACH ROW
BEGIN
SET items_available = item_quantity - items_Committed;

END

任何帮助非常感谢

1 个答案:

答案 0 :(得分:0)

要指定您要访问当前行的值,请使用new.<field name>。 另外,要访问new,您需要触发器为BEFORE UPDATE

CREATE trigger `test`.`trigger_updateitems_available` BEFORE UPDATE ON items FOR EACH ROW
BEGIN
SET new.items_available = new.item_quantity - new.items_Committed;

END