mysql - 错误 1193 (HY000) : Unknown system variable while Creating a trigger

标签 mysql triggers

大家好,我打算为 MySQL 表创建一个触发器,以便在将值插入到表中后,列 exp_sales 设置为 qnty_received 值 * sell_price 但我我收到此错误:

ERROR 1193 (HY000): Unknown system variable 'exp_sales'

这是我的查询:

delimiter $$
Create trigger tsales after insert on Store_info_table
for each row
set exp_sales = qnty_received * selling_price;
END$$

问题是什么?创建触发器的最佳方法是什么,以便在插入数量和销售价格后,exp_sales(Total) 字段更新为正确的值?

最佳答案

如果我理解正确的话,exp_sales 是您要更新的列名称:

delimiter $$
Create trigger tsales after insert on Store_info_table
for each row
    update Store_info_table
    set exp_sales = NEW.qnty_received * NEW.selling_price
    where id = NEW.id;
END$$

更好的方法是使用 INSERT INTO ON DUPLICATE KEY UPDATE

INSERT INTO table_name(...)VALUES(...) 
       ON DUPLICATE KEY SET exp_sales = qnty_received * selling_price;

关于mysql - 错误 1193 (HY000) : Unknown system variable while Creating a trigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12005879/

相关文章:

mysql - 我应该使用 DISTINCT 吗?

sql-server - 触发添加修改日期的插入和更新

php - 可以在 MySQL 插入上执行 PHP?

javascript - 如何使用 ajax 将 html 值保存到 MySQL?

mysql - 获取主键链接到外键的所有表

mysql - 来自2个表和分组的复杂mysql查询计数

sql - 使用触发器检查 VARCHAR2 是否仅包含字母

mysql - 更新更新触发器中的其他行

mysql - 使用触发器对表执行插入或更新

mysql - 如何使用laravel向mysql数据库插入数据