3

我正在将一个新表添加到现有表的列表中:

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'

我能做些什么来修复它?

4

1 回答 1

0

在 MySQL 中,'0000-00-00'不是有效日期。根据MySQL 文档

DATE 类型用于具有日期部分但没有时间部分的值。MySQL 以 'YYYY-MM-DD' 格式检索和显示 DATE 值。支持的范围是“1000-01-01”到“9999-12-31”。

NULL如果您没有可以使用的有意义的默认值,我建议您使用。

CREATE TABLE Counselor (
...
memberSince DATE DEFAULT NULL,
...
于 2016-08-04T19:46:11.477 回答