如何在MySql中将默认值设置为sysdate?

时间:2011-03-03 09:13:44

标签: mysql default-value ddl

我将创建一个包含存储Created_date的列的表,该列具有datetime数据类型。我的目标是将其默认值设置为sysdate()。

我试过

  

CREATE TABLE tbl_table(     created_date datetime DEFAULT sysdate())

这给我的错误说不是有效的默认语句。我在Oracle中使用了类似的逻辑。 请帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:14)

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

但是:NOWsysdate不同,TIMESTAMPdatetime不同,请记住这一点。

Normaly只能将常量用于默认值。 TIMESTAMP是唯一支持NOW()等函数的列类型。有关MySQL Bugtracker的更多信息,请参阅here

答案 1 :(得分:0)

CREATE TABLE tbl_table(     
     created_datetime      DATETIME DEFAULT   CURRENT_TIMESTAMP,
     modified_datetime     DATETIME ON UPDATE CURRENT_TIMESTAMP
)

应该做到这一点。