我将创建一个包含存储Created_date的列的表,该列具有datetime数据类型。我的目标是将其默认值设置为sysdate()。
我试过
CREATE TABLE
tbl_table
(created_date
datetime DEFAULT sysdate())
这给我的错误说不是有效的默认语句。我在Oracle中使用了类似的逻辑。 请帮我解决这个问题。
提前致谢。
答案 0 :(得分:14)
尝试
CREATE TABLE tbl_table ( created_date TIMESTAMP DEFAULT NOW())
但是:NOW
与sysdate
不同,TIMESTAMP
与datetime
不同,请记住这一点。
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
)
应该做到这一点。