这个在mysql数据库中的查询有什么问题?

17 浏览
0 Comments

这个在mysql数据库中的查询有什么问题?

我正在尝试通过运行以下查询在mysql数据库中创建一个表格:

创建表格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

谢谢。

0
0 Comments

这个问题的出现原因是使用了MySQL 5.7版本,而该版本是一个开发版本,可能存在一些bug。解决方法是应该使用稳定的版本,而不是使用开发版本进行生产环境的操作。同时,建议避免使用TIMESTAMP数据类型,而是使用DATETIME数据类型。TIMESTAMP具有一些奇怪和令人困惑的特性,并且只能表示1970年到2038年之间的日期。相比之下,使用DATETIME更简单和更健壮,并且可以明确声明任何特定的日期。

0