假设我在一个表上有一个DATETIME列,默认值为GETDATE()。我还在该表中添加了INSERT语句,该语句不会在其列列表中列出该列(因此默认情况是隐式应用的)。
该INSERT语句位于一个事务块的开头,整个事务块运行时间为5秒。
假设我在12:30开始运行事务(上面的INSERT语句是事务中的第一个语句),它在12:30:05提交。
在默认列中,我将看到12:30还是12:30:05?
奖金:其他RDBMS呢,如MySQL、PostgreSQL和Oracle?
我的假设是12:30,但我只是想确认一下.
发布于 2014-05-17 22:58:03
从概念上讲,您将看到的时间是点插入(INSERT)命令命中的时间,而不是COMMIT命中的时间。在我看来,对于所有其他关系数据库管理系统来说,这种行为都是一样的,除了由Ruslan添加的关于MySQL延迟在MyISAM引擎上写入的行为。
https://stackoverflow.com/questions/23716777
复制相似问题