[英]Error code 1067, SQL state 42000: Invalid default value for 'memberSince' when compiling a table
I'm adding a new table to the list of existing tables: 我正在向现有表列表中添加一个新表:
CREATE TABLE Counselor (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
firstName VARCHAR (50),
nickName VARCHAR (50),
lastName VARCHAR (50),
telephone VARCHAR (25),
email VARCHAR (50),
memberSince DATE DEFAULT '0000-00-00',
PRIMARY KEY (id)
);
Execution is interrupted with the following message: 使用以下消息中断执行:
Error code 1067, SQL state 42000: Invalid default value for 'memberSince'
What can I do to fix it? 我该怎么办才能修复它?
In MySQL, '0000-00-00'
is not a valid date. 在MySQL中,
'0000-00-00'
不是有效的日期。 According to the MySQL docs : 根据MySQL文档 :
The DATE type is used for values with a date part but no time part.
DATE类型用于具有日期部分但没有时间部分的值。 MySQL retrieves and displays DATE values in 'YYYY-MM-DD' format.
MySQL以'YYYY-MM-DD'格式检索并显示DATE值。 The supported range is '1000-01-01' to '9999-12-31'.
支持的范围是“1000-01-01”到“9999-12-31”。
I recommend using NULL
if you don't have a meaningful default value you can use. 如果您没有可以使用的有意义的默认值,我建议使用
NULL
。
CREATE TABLE Counselor (
...
memberSince DATE DEFAULT NULL,
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.