一旦初始设置,是否可以声明MySQL中的列应该是不可修改的?我有一个具有以下定义的列:created timestamp default current_timestamp
我想确保在创建行之后没有人对它感到困惑。
答案 0 :(得分:3)
您可以使用BEFORE UPDATE
触发器完成此操作:
DELIMITER $$
CREATE TRIGGER trFoo BEFORE UPDATE ON foo
FOR EACH ROW BEGIN
IF NEW.Bar != OLD.Bar THEN
SET NEW.Bar = OLD.Bar;
END IF;
END$$
DELIMITER ;