mysql数据库中的这个查询出了什么问题?

时间:2015-03-25 16:03:10

标签: mysql sql database

我试图通过运行以下查询来在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。

编辑: enter image description here

感谢。

1 个答案:

答案 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并声明您想要明确发生的任何魔法更简单,更健壮。