Задать вопрос
@lagudal

Как пофиксить ошибку Incorrect TIMESTAMP value?

Переношу локально с одной машины на другую magento 2.4.5 - на старой субд mariadb 10.5.8, на новой mysql 8.1.0.
Получаю ошибку.
2 exception(s):
Exception #0 (Zend_Db_Statement_Exception): SQLSTATE[HY000]: General error: 1525 Incorrect TIMESTAMP value: '', query was: SELECT `main_table`.* FROM `ves_blockbuilder_block` AS `main_table`
 INNER JOIN `ves_blockbuilder_cms` AS `store_table` ON main_table.block_id = store_table.block_id WHERE (`alias` = 'startpage') AND (`status` = '1') AND (((((`show_from` < '2023-08-31') OR (`show_from` IS null) OR (`show_from` = ''))))) AND (((((`show_to` >= '2023-08-31') OR (`show_to` IS null) OR (`show_to` = '0000-00-00 00:00:00'))))) AND (`block_type` = 'page') AND (store_table.store_id IN(1, 0)) GROUP BY `main_table`.`block_id`
Exception #1 (PDOException): SQLSTATE[HY000]: General error: 1525 Incorrect TIMESTAMP value: ''

Действительно, если в mariadb если сделать этот запрос то приходит empty set, 1 warning,
а в mysql - Incorrect TIMESTAMP value: '',
Как пофиксить?
  • Вопрос задан
  • 303 просмотра
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
@Akina
Сетевой и системный админ, SQL-программист.
Если значение поля с типом TIMESTAMP некорректно (а пустая строка - это некорректное значение) - надо заменить его на корректное.
  • Если поле NULLable - то например на NULL.
  • Если настройки допускают нулевую дату - то на `0000-00-00 00:00:00`.
  • Иначе - на некое предопределённое значение. В зависимости от смысла поля - либо в далёком прошлом, либо в столь же далёком будущем.
Ответ написан
Комментировать
@pantsarny
‘ show_from` = ''
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект