我想实现一个触发器来自动增加行更新字段。每次更新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