相关疑难解决方法(0)

设置DATE或DATETIME的默认值时,mysql出错

我正在运行MySql Server 5.7.11和这句话:

updated datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
Run Code Online (Sandbox Code Playgroud)

不是工作.给出错误:

ERROR 1067 (42000): Invalid default value for 'updated'
Run Code Online (Sandbox Code Playgroud)

但是以下内容:

updated datetime NOT NULL DEFAULT '1000-01-01 00:00:00'
Run Code Online (Sandbox Code Playgroud)

只是工作.

DATE的情况相同.

作为旁注,它在mysql文档中提到:

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

即使他们也说:

无效的DATE,DATETIME或TIMESTAMP值将转换为相应类型的"零"值('0000-00-00'或'0000-00-00 00:00:00').

考虑到mysql文档的第二个引用,任何人都可以让我知道它为什么会出现这个错误?

mysql sql console datetime date

106
推荐指数
5
解决办法
16万
查看次数

标签 统计

console ×1

date ×1

datetime ×1

mysql ×1

sql ×1