我试图通过运行以下查询来在mysql数据库中创建一个表,
CREATE TABLE vms_schedule(
schedule_id Int AUTO_INCREMENT
, name varchar(255) NOT NULL
, start_date timestamp NOT NULL
, end_date timestamp NOT NULL
, sun Numeric(10, 0)
, mon Numeric(10, 0)
, tue Numeric(10, 0)
, wed Numeric(10, 0)
, thu Numeric(10, 0)
, fri Numeric(10, 0)
, sat Numeric(10, 0)
,PRIMARY KEY (schedule_id)
);
但是我得到了" end_date的默认值无效"错误。不确定查询有什么问题,因为它适用于start_date而不适用于end_date。
编辑:
感谢。
答案 0 :(得分:2)
我无法在MySQL 5.6.23上重现此问题。我没有MySQL 5.7。 5.7是开发版本。你可能不应该将它用于生产。你可能遇到了一个bug,你应该report it。
我会避免使用TIMESTAMP并使用DATETIME代替。 TIMESTAMP has many odd and confusing "features"并且仅限于1970年到2038年之间的日期。使用DATETIME并声明您想要明确发生的任何魔法更简单,更健壮。