mysql 0000-00-00 ошибка обновления

Я пытаюсь обновить поле даты до нуля вместо 0000-00-00, но у меня возникают ошибки.

 ERROR 1292 (22007): Incorrect date value: '0000-00-00' for column 'rel_date' at row 1

Однако я могу обновить записи индивидуально?

 update table set rel_date = NULL where id = 12;

Но если я попытаюсь

update table set rel_date = NULL where rel_date like '%0000%'
or
update table set rel_date = NULL where rel_date = '0000-00-00'
I get ERROR 1292 (22007): Incorrect date value: '0000-00-00' for column 'rel_date' at row 1

схема

id              | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| document_id   | varchar(40)      | NO   | MUL | NULL    |                   |
| revision_date | date             | YES  |     | NULL    |                |

2 ответа

SET sql_mode=(SELECT REPLACE(@@sql_mode,'NO_ZERO_DATE',''));

Запустите команду обновления. закрыть экземпляр mysql или, возможно, добавить обратно в текущий сеанс.

SET sql_mode=(SELECT CONCAT(@@sql_mode,',NO_ZERO_DATE'));

У меня такая же проблема. Если у вас есть минимальная допустимая дата в вашей таблице, предположим, что это "1950-01-01", то вы можете сделать:

update table set rel_date = NULL where rel_date < '1950-01-01'
Другие вопросы по тегам