1
DELIMITER //
CREATE TRIGGER never_update_with_null
BEFORE UPDATE
ON `table_name`
FOR EACH ROW
BEGIN
IF OLD.name IS NOT NULL AND NEW.name IS NULL THEN
SET NEW.name = OLD.name;
IF OLD.phone IS NOT NULL AND NEW.name IS NULL THEN
SET NEW.phone = OLD.phone;
IF OLD.place IS NOT NULL AND NEW.place IS NULL THEN
SET NEW.place = OLD.place;
END; //
DELIMITER ;
我努力实现以下目标: 如果有人UPDATE
SA值name
,在表table_name
phone
或place
(列),并将其值(更新值)NULL
那么该值保持旧的(不会更新)。 也许有点短:从不用NULL更新。的MySQL创建触发器语法
上述SQL不会创建触发器,但它不会引发任何错误(phpMyAdmin)。它缺少语法吗?每OLD.column;
之后已经尝试过ENDIF;
- 没有任何改进。谢谢你的解释。
尝试结束。如果不是ENDIF – Mihai