2011-03-03 167 views
5

我打算创建一个存储日期时间数据类型Created_date的列的表。我的目标是将其默认值设置为sysdate()。如何在MySql中将默认值设置为sysdate?

我试图

CREATE TABLE tbl_tablecreated_date日期时间DEFAULT SYSDATE())

这给了我错误说没有一个有效的默认声明。我在Oracle中使用了类似的逻辑。 请帮我解决这个问题。

在此先感谢。

+0

阅读[this](http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_sysdate-is-now) – diEcho 2011-03-03 09:47:09

回答

12

尝试 CREATE TABLE tbl_table (created_date TIMESTAMP DEFAULT NOW())

但是:NOWsysdateTIMESTAMP不同的是datetime不同,记住这一点。

通常您只能使用常量作为默认值。 TIMESTAMP是唯一支持类似NOW()的功能的列类型。有关MySQL Bugtracker的更多信息,请参阅here

+0

所以没有办法保持它的日期时间? – Antoops 2011-03-03 09:22:23

+0

看到我上面的编辑 – theomega 2011-03-03 09:25:40

+0

我从[链接](http://dev.mysql.com/doc/refman/5.0/en/timestamp.html)得到了一些信息,它说时间戳将被更新。但是,当这个更新?就像每当我们触摸该行即使对于一个选择查询? – Antoops 2011-03-03 09:29:36

相关问题