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

问题描述 投票:0回答:2

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

我试过了

CREATE TABLE `tbl_table` (
`created_date` datetime DEFAULT sysdate())

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

mysql default-value ddl
2个回答
15
投票

尝试

CREATE TABLE tbl_table ( created_date TIMESTAMP DEFAULT NOW())

但是:

NOW
sysdate
不同,并且
TIMESTAMP
datetime
不同,请记住这一点。

通常您只能使用常量作为默认值。

TIMESTAMP
是唯一支持
NOW()
等功能的列类型。有关 MySQL Bugtracker 的更多信息,请参阅此处


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

应该可以解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.