我打算创建一个包含datetime数据类型的Created_date列的表格,并且我的目标是将其默认值设置为sysdate()。
我尝试过:
CREATE TABLE
tbl_table
(created_date
datetime DEFAULT sysdate())
这个代码给我返回了错误,说它并不是有效的默认语句。在Oracle中,我使用了类似的逻辑。请帮助我解决这个问题。
提前感谢您的帮助。
我打算创建一个包含datetime数据类型的Created_date列的表格,并且我的目标是将其默认值设置为sysdate()。
我尝试过:
CREATE TABLE
tbl_table
(created_date
datetime DEFAULT sysdate())
这个代码给我返回了错误,说它并不是有效的默认语句。在Oracle中,我使用了类似的逻辑。请帮助我解决这个问题。
提前感谢您的帮助。
尝试执行CREATE TABLE tbl_table (created_date TIMESTAMP DEFAULT NOW())
但是需要注意:NOW
与sysdate
以及TIMESTAMP
与datetime
是不同的。
通常只能使用常量作为默认值。 TIMESTAMP
是唯一支持像NOW()
这样的函数的列类型。 有关MySQL Bugtracker的更多信息,请参见此处。
CREATE TABLE tbl_table(
created_datetime DATETIME DEFAULT CURRENT_TIMESTAMP,
modified_datetime DATETIME ON UPDATE CURRENT_TIMESTAMP
)