我正在运行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文档的第二个引用,任何人都可以让我知道它为什么会出现这个错误?