我正在将新表添加到现有表的列表中:
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)
);
执行被中断,并显示以下消息:
Error code 1067, SQL state 42000: Invalid default value for 'memberSince'
我该怎么做才能解决它?
答案 0 :(得分:0)
在MySQL中,'0000-00-00'
不是有效日期。根据{{3}}:
DATE类型用于具有日期部分但没有时间部分的值。 MySQL以'YYYY-MM-DD'格式检索并显示DATE值。支持的范围是'1000-01-01'到'9999-12-31'。
如果您没有可以使用的有意义的默认值,我建议使用NULL
。
CREATE TABLE Counselor (
...
memberSince DATE DEFAULT NULL,
...