![](/img/trans.png)
[英]com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value
[英]com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: ' '
我花了最后一个小时尝试使用Java通过时间戳将日期和时间插入时间戳的替代版本。
Date endDate = new Date();
ptmt.setTimestamp(5, new java.sql.Timestamp(endDate.getTime()));
我的创建表语句是
CREATE TABLE Location (
UserID varchar(50),
Latitude DOUBLE,
Longitude DOUBLE,
Altitude DOUBLE,
TimeInserted timestamp
);
是否有其他输入日期的方法。
在我准备好的语句中,我试图在字符串中包含now(),但是它在寻找参数。
String queryString = "INSERT INTO Location(UserID,Latitude,Longitude,Altitude,TimeInserted) VALUES(?,?,?,?,now());";
但是,搜索第5个参数时并不满意。
有任何想法吗?
我尝试将表格中的日期设为日期,并设法仅插入日期-但是我需要时间来排序。
谢谢
但是,搜索第5个参数时并不满意。
String queryString = "INSERT INTO Location(UserID,Latitude,Longitude,Altitude,TimeInserted) VALUES(?,?,?,?,now());";
您的查询字符串具有4个绑定参数,但此语句ptmt.setTimestamp(5, new java.sql.Timestamp(endDate.getTime()));
试图将long
绑定到不存在的第5个参数
要记住的事情
public Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
不推荐使用。 而是使用构造函数Timestamp(long millis)
Date endDate= new Date();
java.sql.Timestamp eDate = new java.sql.Timestamp(enddate.getTime());
long endDatetime= eDate.getTime();
ptmt.setTimestamp(5, endDatetime);
尝试这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.