mysql - 在mysql中触发提示

标签 mysql database triggers

这是对我之前问题的引用

rails callbacks not getting executed

现在由于框架有一段时间不工作了,我宁愿考虑编写一个触发器来执行此操作

所以我的触发器看起来像这样

DELIMITER $$
CREATE TRIGGER sales_earning AFTER INSERT ON sales_transactions  FOR EACH ROW  
BEGIN
   DECLARE earning INT;
   SET earning = (select sales_earning from payouts where id = NEW.payout_id);
   earning = earning + NEW.amount   
   UPDATE payouts SET sales_earning = earning where id = NEW.payout_id ;
END $$
DELIMITER ;

任何人都知道触发器的问题是什么它提示

错误 1064 (42000):您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解使用 near '= earning + NEW.amount ;

的正确语法

仅供引用,支出和 sales_transactions 之间存在父子关系

任何帮助

最佳答案

CREATE TRIGGER sales_earning AFTER INSERT ON sales_transactions FOR EACH ROW  
  UPDATE payouts
  SET    sales_earning = sales_earning + NEW.amount
  WHERE  id = NEW.payout_id
;

关于mysql - 在mysql中触发提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18077261/

相关文章:

PHP MYSQL 多个 if 语句进行多个更新

mysql - 我应该为我的自动增量 ID MySQL 使用什么大小的 INT

sql - 在 SQL 查询中组合拆分日期范围

python - SQLAlchemy 通用关系简单示例

MySQL 触发器 : move to trash

mysql - 根据时间戳计算并更新当前行和最后一行之间的功耗

php - 解码 Json 数据数组并插入到 mysql

MySQL添加分数列到SELECT高分查询

sql - 如何创建用于插入三个表的 SQL 触发器

mysql - mysql中的触发器不允许某些列对重复值