I'm getting the following exception updating a row using MySQL via JDBC:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '2006-10-01 02:22:44'
The column is defined as:
'
created_on_service
timestamp NULL DEFAULT NULL'
There are no indexes or foreign keys on that column.
Obviously it's not a problem with data type. I have values in that table from both before and after that datetime. I also have values with times both before and after 2:22 AM.
The obvious way to fix the error is to change the formatting of your value into the format that MySQL can accept. But rather than editing the value manually, you can use the STR_TO_DATE() function to help you convert the string value into date value.
Solved it.
Turns out that the 1st of October 2006 in South Australia was the start of daylight savings. Clocks get set forward one hour at 2.00am, so there was no 2:22am on that date: it went straight from 2:00am to 3:01am.
I'll change the db timezone to UTC, which should solve this issue.
I fixed the same problem (com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'perev_start_time' at row 1
) by upgrading my MySQL connector JAR, and copying the mysql.jar to the Tomcat lib directory.
The version of MySQL Server is 5.6 and the MySQL connector is mysql-connector-java-5.1.30-bin.jar
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With