今天建表时,执行sql文件,报了一个类型为日期,但是默认值错误的提示,特意将date类型默认值总结了一下,如下:
目前只能使用timestamp 类型,且默认值设为 now() 或 current_timestamp() / CURRENT_TIMESTAMP。
MySQL 的日期类型有5种分别是: date、time、year、datetime、timestamp
如果建表语句中有:
createTime time NOT NULL DEFAULT NOW();
createYear year NOT NULL DEFAULT NOW();
createDate date NOT NULL DEFAULT CURRENT_TIMESTAMP();
createDatetime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP();
都会报错。所以想要设置某个日期列的默认值为当前时间,只能使用 timestamp 类型,并设置 DEFAULT NOW() 、DEFAULT CURRENT_TIMESTAMP() 、DEFAULT CURRENT_TIMESTAMP 作为默认值。