Подтвердить что ты не робот

MySQL: Усечение данных: Неверное значение даты и времени: '2006-10-01 02:22:44'

Я получаю следующее исключение, обновляющее строку с помощью MySQL через JDBC:

com.mysql.jdbc.MysqlDataTruncation: Усечение данных: неверное значение даты и времени: '2006-10-01 02:22:44'

Столбец определяется как:

'created_on_service timestamp NULL DEFAULT NULL'

В этом столбце отсутствуют индексы или внешние ключи.

Очевидно, это не проблема с типом данных. У меня есть значения в этой таблице как до, так и после этого datetime. У меня также есть значения со временем как до, так и после 2:22 утра.

4b9b3361

Ответ 1

Решил.

Оказывается, 1 октября 2006 года в Южной Австралии началось сокращение летних дней. Часы устанавливаются на один час в 2.00 утра, поэтому в эту дату не было 2:22 утра: он шел прямо с 2:00 до 3:01.

Я изменю часовой пояс db на UTC, который должен решить эту проблему.

Ответ 2

Я исправил ту же проблему (com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'perev_start_time' at row 1), обновив JAR-коннектор MySQL и скопировав mysql.jar в каталог Tomcat lib.

Версия MySQL Server - 5.6, а соединитель MySQL - mysql-connector-java-5.1.30-bin.jar.

Ответ 3

Мы обновили сервер MySQL, но не обновили jQ-порт mysql. Мы столкнулись с этой проблемой. Позже я понял, что это произошло из-за старой банки. Я обновил его, и этот вопрос исчез.

Ответ 4

Вы не указали точное обновление SQL. Но может быть, вы забыли дату.

Правильный формат: yyyy-mm-dd hh: mm: ss format

Значение даты должно быть в следующем формате: 2011-11-01 12:32:01