予約の変更を追跡するために、データベース内でトリガーを使用することを検討しています。予約が追加されるたびに、スコアを「保有期間」に保つテーブルにポイントを追加します。
このコマンドを実行すると、トリガーを追加する前に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でコーディングするだけですか?ありがとう!