Mysql
 sql >> база данни >  >> RDS >> Mysql

Неправилна стойност за дата и час. Номер на грешка в базата данни:1292

След надграждане до MySQL 5.7 открих, че тази грешка е започнала да се появява в случайни ситуации, дори когато не съм посочил дата в заявката.

Изглежда, че това се дължи на предишен версии на MySQL поддържани дати като 0000-00-00 00:00:00 (по подразбиране) обаче 5.7.4 въведе някои промени в NO_ZERO_DATE настройка. Ако все още имате стари данни, когато използвате по-нова версия на MySQL, може да се появят случайни грешки.

Трябваше да изпълня заявка като тази, за да нулирам всички нулеви дати на друга дата.

# If the columns supports NULL, use that
UPDATE table SET date_column = NULL WHERE date_column < '1000-01-01';

# Otherwise supply another default date
UPDATE table SET date_column = '1970-01-01' WHERE date_column < '1000-01-01';

Като алтернатива може да успеете да коригирате NO_ZERO_DATE настройка, въпреки че имайте предвид какво казват документите за него:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Полетата на кой ред се връщат при групиране с MySQL?

  2. PHP mySQL - Можете ли да върнете свързан масив с числов индекс?

  3. Как да актуализирате АВТОМАТИЧНО MySQL след изтичане на полето за времеви отпечатък

  4. Как да активирам explicit_defaults_for_timestamp?

  5. MySQL зарежда NULL стойности от CSV данни