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

8

我打算创建一个包含datetime数据类型的Created_date列的表格,并且我的目标是将其默认值设置为sysdate()。

我尝试过:

CREATE TABLE tbl_table ( created_date datetime DEFAULT sysdate())

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

提前感谢您的帮助。


点击这里阅读相关的编程内容。 - xkeshav
2个回答

15

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

但是需要注意:NOWsysdate以及TIMESTAMPdatetime是不同的。

通常只能使用常量作为默认值。 TIMESTAMP是唯一支持像NOW()这样的函数的列类型。 有关MySQL Bugtracker的更多信息,请参见此处


那么没有办法保留它的日期时间吗? - Anto Varghese
我从链接中获得了一些信息,它说时间戳将会被更新。但是这个什么时候会被更新呢?例如:我们只是进行一个查询操作,它就会被更新吗? - Anto Varghese

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

应该能解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接