行の更新時にフィールドを自動インクリメントするトリガーを実装しようとしています。PERSON テーブルの既存の行が更新されるたびに、consistency_version を自動的に 1 ずつ増やしたいと考えています。
私のテーブル:
CREATE TABLE PERSON (
id INT NOT NULL AUTO_INCREMENT,
consistency_version INT NOT NULL DEFAULT 0,
name CHAR (100) NOT NULL,
);
およびトリガー:
CREATE TRIGGER consistency_version_trigger BEFORE UPDATE ON PERSON
FOR EACH ROW SET NEW.VERSION = @VERSION+1
テーブルの行で更新ステートメントを実行すると、consistency_version が 1 ずつ増加することが期待されます
しかし、次のエラーが表示されます。
Column "consistency_version" cannot be null
誰かが私が間違っていることをアドバイスできますか? @VERSION は null だと思います。この値を更新中の現在の行のバージョンに設定するにはどうすればよいですか?