我有两个问题:
0000-00-00在表定义中将其设置为非空时插入错误日期时,mysql 无法通知错误..?示例架构:这里
现在,如果将截止日期更改为1970-01-01它会显示错误
0000-00-00第 1 行的 Duedate 列的日期值不正确
update my_list set duedate = '1970-01-01' where duedate = '0000-00-00';
Run Code Online (Sandbox Code Playgroud)
我试图修改该列,但它仍然显示相同的错误
ALTER TABLE `my_list` modify `duedate` date NULL;
ALTER TABLE `my_list` MODIFY `duedate` DATE NOT NULL DEFAULT '1970-01-01';
Run Code Online (Sandbox Code Playgroud)
1970-01-01for 0000-00-00;我从客户端获得了数据库,所以不幸的是在 my.cnf 文件上工作。
更多信息:
MYSQL 版本:5.5
编辑:这是有效的
update my_list set duedate = '1970-01-01' where id = 16;
Run Code Online (Sandbox Code Playgroud)
但不是
update my_list set duedate = '1970-01-01' where duedate = '0000-00-00';
Run Code Online (Sandbox Code Playgroud)
小智 8
将截止日期转换为字符串:
update my_list set duedate = '1970-01-01' where DATE_FORMAT(duedate, '%Y-%m-%d') = '0000-00-00';
Run Code Online (Sandbox Code Playgroud)