如何使用Java在MySQL数据库中插入日期?

时间:2015-04-03 04:19:28

标签: java

我已经给出了日期类型和时间戳数据类型(2015年4月2日下午3:10:36),但我收到了以下错误。这个日期我是从XLSX表中调用的。

Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '4/2/2015 3:10:36 PM' for column 'date' at row 1
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4235)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2825)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)
    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)
    at com.tasc.xls.SearchExcel.main(SearchExcel.java:64)

1 个答案:

答案 0 :(得分:2)

您可能在预准备语句中将日期作为字符串传递,而不是将其作为Date类型传递。将其作为日期类型传递将正确地将您的日期发送到mysql。

示例:

PreparedStatement pstmt = con.prepareStatement("UPDATE my_table set my_date = ?");
pstmt.setDate(1, yourDateConvertedIntoDateType);