我将创建一个表,其中包含存储 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
)
应该可以解决问题。