2015-04-03 86 views
0

我也給出了日期類型和時間戳記數據類型(4/2/2015 3:10:36 PM),但我得到的錯誤率低於此值。這是我從XLSX表格調用的日期。如何使用Java在MySQL數據庫中插入日期?

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) 
+5

向我們展示你的Java代碼。 – 2015-04-03 04:21:48

+0

你是否在佔位符中使用'PreparedStatement'?你應該做一些像'statement.setDate(1,dateObj);'。如果你將它設置爲一個字符串(看起來像你並不解析它),它不會工作。 – 2015-04-08 20:06:41

回答

2

你可能會傳遞日期的預準備語句的字符串,而不是把它當作一個Date類型。將它作爲日期類型傳遞會將你的日期正確地發送給mysql。

例子:

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