我正在考虑在我的数据库中使用触发器来跟踪预订的变化。每次添加预订时,我都会在表格中添加一个点,该表格在“任期”中保持得分。
当我运行这个命令时,我可以在添加触发器之前更改 id。
UPDATE bookit SET prov_id = 32 where book_id=2;
添加以下触发器后,我无法更新 prov_id 并收到此错误
1054 - 'where 子句'中的未知列'bookit.prov_id'
扳机:
delimiter //
CREATE TRIGGER update_tenure_it BEFORE
UPDATE ON bookit FOR EACH ROW
BEGIN
if(new.prov_id<>old.prov_id) THEN
UPDATE provider_score set tenure=(tenure+1) where bookit.prov_id=provider_id;
END IF;
END;
//
你知道我做错了什么以及问题出在哪里吗?我什至应该考虑使用触发器进行此类操作还是只在 PHP 中编写代码?谢谢!