【发布时间】:2016-06-27 03:55:08
【问题描述】:
如果我分别创建这 2 个 MySQL 触发器,它们都可以执行。但我无法将它们组合起来以将持续时间 x 率相乘。
如果存在则删除触发器deduct_balance;
创建定义器=root@localhost 触发器deduct_balance
更新后transactions
每一行
SET @Rate = (SELECT rate FROM languages WHERE languages.idlanguages =contracts.languages_idlanguajes);
如果存在则删除触发器deduct_balance;
创建定义器=root@localhost 触发器deduct_balance
更新后transactions
每一行
更新合约 SET balance = 余额 -(UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date)) / 60
WHERE contracts.idcontracts = new.contracts_idcontracts
合并(我收到错误)
如果存在则删除触发器deduct_balance;
创建定义器=root@localhost 触发器deduct_balance
更新后transactions
每一行
SET @Rate = (SELECT rate FROM languages WHERE languages.idlanguages =contracts.languages_idlanguajes);
更新合约 SET balance = balance -(UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date)) / 60;
WHERE contracts.idcontracts = new.contracts_idcontracts
有什么想法吗?
我收到此错误 错误 查阅 SQL:
更新合约 SET balance = balance -(UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date)) / 60;
MySQL ha dicho:文档
1054 - “字段列表”中的未知列“NEW.end_date”
【问题讨论】:
-
你得到什么错误?
-
你有一个额外的;在组合查询中的 WHERE 之前。
balance -(UNIX_TIMESTAMP(NEW.end_date) - UNIX_TIMESTAMP(OLD.start_date)) / 60; WHERE -
对 ;不应该在那里,但错误仍然存在