大家好,我打算创建一个MySQL表的触发器,以便值插入到表中后,列exp_sales
设置为qnty_received
值 * selling_price,但我得到这个错误:
错误1193(HY000):未知系统变量"exp_sales"
这是我的查询:
delimiter $$
Create trigger tsales after insert on Store_info_table
for each row
set exp_sales = qnty_received * selling_price;
END$$
问题是什么?创建触发器的最佳方法是什么?这样,在插入Quantity和selling Price之后,exp_sales(Total)
的字段就会更新为正确的值。
4条答案
按热度按时间e1xvtsh31#
如果我理解正确,
exp_sales
是您要更新的列名:更好的方法是使用INSERT INTO ON DUPLICATE KEY UPDATE
rsl1atfo2#
如果我没理解错的话,你想在插入后更新记录的一个字段。
n8ghc7c13#
难道你忘了NEW关键字吗?
试试这个-
但是,我认为您不应该这样做,因为您总是可以在SELECT查询中计算“总计”值。
3hvapo4f4#
试试下面的代码,它对我很有效
但是,既然您希望自动计算exp_sales,为什么不使用
before
来代替after
呢?