首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Server (和其他SQL数据库)上的事务中,列默认值是应用于INSERT还是COMMIT?

问在Server (和其他SQL数据库)上的事务中,列默认值是应用于INSERT还是COMMIT?
EN

Stack Overflow用户
提问于 2014-05-17 22:41:32
回答 1查看 29关注 0票数 0

假设我在一个表上有一个DATETIME列,默认值为GETDATE()。我还在该表中添加了INSERT语句,该语句不会在其列列表中列出该列(因此默认情况是隐式应用的)。

该INSERT语句位于一个事务块的开头,整个事务块运行时间为5秒。

假设我在12:30开始运行事务(上面的INSERT语句是事务中的第一个语句),它在12:30:05提交。

在默认列中,我将看到12:30还是12:30:05?

奖金:其他RDBMS呢,如MySQL、PostgreSQL和Oracle?

我的假设是12:30,但我只是想确认一下.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-17 22:58:03

从概念上讲,您将看到的时间是点插入(INSERT)命令命中的时间,而不是COMMIT命中的时间。在我看来,对于所有其他关系数据库管理系统来说,这种行为都是一样的,除了由Ruslan添加的关于MySQL延迟在MyISAM引擎上写入的行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23716777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档