我想實現一個觸發器來自動增加行更新字段。每次更新PERSON表中的現有行時,我都希望consistency_version自動增加1。MySQL - 行更新觸發錯誤
我的表:
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一個
但我遞增表中的行執行UPDATE語句得到以下錯誤:
Column "consistency_version" cannot be null
任何人都可以建議我做錯了什麼?我認爲@VERSION是空的。我怎樣才能將此值設置爲正在更新的當前行的版本?
感謝您的答覆,但我需要保持全球每行和版本沒有。我正在檢查手冊,我相信OLD.VERSION的作品,而不是使用變量。 – Santiago
是的,在這種情況下,OLD.VERSION將起作用。 – Vatev