这是我编写的 MYSQL 触发器:
DELIMITER //
CREATE TRIGGER updtrigger BEFORE UPDATE ON myTable
FOR EACH ROW
BEGIN
IF (OLD.column IS NOT NULL AND NEW.column IS NOT NULL AND NEW.column != OLD.column) THEN
SET NEW.col_updated_on = NOW();
END IF;
END //
DELIMITER ;
如果column
有一个值(比如“电影”),我更新它以获得新值“电影,音乐”,触发器被执行并且col_updated_on
应该具有当前时间戳。
但是,当column
为 NULL 并且我更新它以获取新值“电影”时,该col_updated_on
列仍将显示旧时间戳。
请让我知道我必须做些什么改变来检查这种情况。
提前感谢您的回复。
我有另一个问题。下面的伪可能吗?
这是我的两张表 -
myTable
(id, someId, col_updated_on);
myOtherTable
(id, col1, col2);
myTable
myOtherTable
.someId 与.id具有一对一关系
我想在.col1 和.col2 更新时更新myTable
.col_updated_on 。我该怎么做呢?我应该使用“更新前”还是“更新后”?myOtherTable
myOtherTable