mysql 建表不能默认时间

CREATE TABLE Orders
(
OrderId int NOT NULL,
ProductName varchar(50) NOT NULL,
OrderDate datetime NOT NULL DEFAULT CURDATE(),
PRIMARY KEY (OrderId)
)

 

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURDATE(),
PRIMARY KEY (OrderId)
)' at line 5

 

 

MySQL不能在建表时用default curdate()指定字段默认值为当前日期,

所以一定要在插入或更新的时候指定一个日期或者用curdate()函数,

例如insert into 表 (字段) values (curdate()); 如果不指定一个时间,那就按照系统默认值也就是日期"0000-00-00"。

 

但是timestamp却可以默认 current_timestamp(),不过一个表只能有一个timestamp

 

你可能感兴趣的:(mysql)