sql >> データベース >  >> RDS >> Mysql

トリガーのUPDATE後に同じ行をUPDATE

    のテーブルの行を更新することはできません トリガーを更新します。

    おそらくあなたはこのようなものが欲しいでしょう:

    CREATE TRIGGER `records_integrity` BEFORE UPDATE
    ON `records`
    FOR EACH ROW
        SET NEW.epc=IFNULL(new.earnings/new.clicks, 0);
    

    編集:

    トリガー内では、OLDにアクセスできます およびNEWOLD レコード内の古い値であり、NEW 新しい値です。 トリガー、NEW 値はテーブルに書き込まれるものなので、変更できます。 トリガー、NEW 値はすでに書き込まれているため、変更できません。 MySQLドキュメント だと思います これをかなりよく説明しています。



    1. MySQLで通知用のデータベースを設計するためのガイド

    2. PostgresqlDROPTABLEが機能しない

    3. 一時テーブルのpostgresqlスレッドセーフ

    4. OracleのATAN2()関数