更好:INSERT NOW()或DEFAULT CURRENT_TIMESTAMP?

问题描述:

什么MySQL中,为什么是更好:更好:INSERT NOW()或DEFAULT CURRENT_TIMESTAMP?

INSERT Now() value when we insert a row. 

新增:

创建一个表


或者当建立

`Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 

怎么样的表现呢?

我建议让DB做这项工作,这样程序员不能忘记做额外的列插入/更新并插入不正确的时间。

+0

我同意,除非由于某种原因,你有多个时间戳你想更新。但是对于简单的情况,让DB处理它。 –

如果时间字段是强制性的并且永远不应该为空或者不设置为最好在表结构中强制实施(解决方案1),相反如果该字段有时可以省略,则应在插入查询中使用NOW() 。这取决于你的需求...

我已经通过这个文件Bug in now() and current_timestamp()

我会建议通过为使用NOW()或CURRENT_TIMESTAMP()函数了该项目。