我正在使用PHP + Zend Framework实现一个非常简单的会计程序。我已经设置了以下触发器:
CREATE TRIGGER consolidate_balance BEFORE INSERT ON balance FOR EACH ROW
BEGIN
IF (NEW.amount IS NOT NULL) THEN
UPDATE accounts SET accounts.balance = accounts.balance + NEW.amount WHERE accounts.id = NEW.account_id;
END IF;
END
我的脚本仅在
balance
表中进行插入操作,并从accounts
表中选择以获取余额。问题:当PHP执行INSERT查询时,触发器未触发(或不起作用)。但是,如果我从MySQL日志中复制查询并将其粘贴到MySQL的命令行客户端中,它确实能够工作,并且我会得到期望的结果(
accounts
表被正确更新)。您有何想法?为避免疑虑,所有查询都由Zend_Db_Table_Row的一个实例处理。