MySQL有一种名为timestamp的数据类型。这是一个日期时间字段,当记录中的任何数据发生更改时,该字段将更新为now()。
如何在SQL Server中实现相同的行为?
我了解SQL Server中的rowversion数据类型。我不想要这个 - 我想要一个自动更新日期时间值。
答案 0 :(得分:0)
创建一个INSTEAD OF INSERT触发器,在其中插入表,从INSERTED中选择所有列,除了要始终反映当前日期时间的日期时间列,并为该列插入GETDATE()。
然后创建一个INSTEAD OF UPDATE触发器,并执行类似操作,对插入的表运行UPDATE语句,使用GETDATE()为该特定列。
答案 1 :(得分:0)
要模拟MySQL的TIMESTAMP列,您需要DATETIME2(7)列和INSTEAD OF UPDATE触发器。并使用SYSDATETIME函数填充datetime2列。