我在基于SQL Server的应用程序中遇到了一个奇怪的情况,我正在试图找出在试图解释它时所缺少的东西。
我在一个表上有一个触发器,每次在表中更新/删除一个记录时,触发器都会将一个日志插入到一个日志表中。下面是我最近发现的日志表的一个例子。
ID UpdatedDate
------------------------------
10 2018-07-06 12:20:54.287
11 2018-07-06 12:20:54.657
12 2018-07-06 12:20:54.703
13 2018-07-06 12:20:54.910
14 2018-07-06 12:20:54.900
15 2018-07-06 12:20:54.953
16 2018-07-06 12:20:55.070
17 2018-07-06 12:20:55.087
18 2018-07-06 12:20:55.100
19 2018-07-06 12:20:55.113
20 2018-07-06 12:20:55.117
21 2018-07-06 12:20:55.143
22 2018-07-06 12:20:55.243
23 2018-07-06 12:20:53.973
如果你看最后一张记录23,
UpdateDate
小于
UpdatedDate
其他(旧)记录中ID较小的记录。这对我来说很奇怪,因为ID列是用
IDENTITY(1,1)
也就是说它是单调递增的。因此ID值越高,记录越新,因此
更新日期
列应始终递增,并且记录23不应具有旧的时间戳。
btw插入到日志表中只使用
GETDATE()
对于
更新日期
列。
这可以解释吗?