简体   繁体   English

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

[英]How to insert a date in MySQL database using Java?

I have given date type and timestamp data type (4/2/2015 3:10:36 PM) also but I am getting below error. 我也给出了日期类型和时间戳数据类型(2015年4月2日3:10:36 PM),但是我遇到了以下错误。 This date I am calling from XLSX sheet. 我从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)

You are probably passing the date as a string in your prepared statement instead of passing it as a Date type. 您可能在准备好的语句中将日期作为字符串传递,而不是将其作为Date类型传递。 Passing it as a date type will send correctly your date to mysql. 将其作为日期类型传递会将您的日期正确发送到mysql。

Example: 例:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM