在搜索其他内容时,我在测试数据库中找到了此触发器:
line = r"got less no of bytes than requested\r\n"
print(line)
if line.find(r'\r\n') > 0:
print("Do not use line breaks in MSG");
我很困惑...这与将列定义更改为以下内容有什么不同吗?
begin
set NEW.UpdatedAt = now();
end
我不愿意在触发器中做到这一点吗?
答案 0 :(得分:1)
对于早期版本的MySQL,ON UPDATE
仅可用于数据类型为TIMESTAMP
的列。 DATETIME
或任何其他数据类型均不支持该功能。
对于TIMESTAMP
列,获取由两个TIMESTAMP
列定义的表来自动设置可能有点棘手;在插入行时将NOW()
分配给一列,而在更新行时将NOW()
分配给另一列。
触发器可以解决这些限制。