MySQL使用触发器禁止某行数据某些列的修改

起因是有来线上演示环境的系统管理员账号经常被禁用导致登录不了,然后需要手动恢复数据状态才行。

原理是利用触发器的旧数据覆盖新数据

delimiter $
CREATE TRIGGER`sys_user_2_update`
BEFORE UPDATE ON`sys_user`FOR EACH ROW 
BEGIN
	IF NEW.id = 2 THEN
		SET NEW.status=OLD.status,NEW.deleted=OLD.deleted;
	END IF;
END;
posted @ 2022-05-18 08:44  有来技术  阅读(709)  评论(0编辑  收藏  举报