【发布时间】:2021-12-14 16:17:34
【问题描述】:
我知道当你在数据库中插入一个值时,它会将该列值设置为当前日期时间, 当您运行更新语句时它是否适用于它?
例如
表架构:
Id, Name, CreatedDate(getdate())
当我插入表 id = 1 , name = 'john' 时,它会设置 createdDate = current date
如果我运行更新语句
update table set name="john2" where id =1
它会更新createdDate吗?
【问题讨论】:
-
如果您要问是否有一种简单的方法可以在表中实现“LastModifiedDateTime”列,那么没有,没有简单的方法可以实现。
-
没有简单的方法来实现“LastModifiedDateTime”?如果您有一个列,然后您对该列的更新包含值“sysdate”,那么这非常容易。我不认为它比任何其他更新更难。
-
@Tony318 挑战在于 OP 不想在每个更新语句中都提及该列。今天这需要一个触发器,因为默认约束无助于更新。
-
@Tony318 - 如果您不希望插入器/更新器必须引用该列和/或当时指定值。
-
@Kiddo 为什么要在稍后更新行时更新
createdDate列?这不应该是一个单独的列吗?