gpt4 book ai didi

java - 我无法更新我的日期列?错误: datatruncation

转载 作者:行者123 更新时间:2023-12-01 11:29:15 24 4
gpt4 key购买 nike

列“LOGINDATE”的 mySQL 数据类型是日期。为什么我会收到此错误?

private void compareDate(){
sql = "Select curdate()";
Date currentDate = lastLogin;
try{
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
currentDate = rs.getDate(1);
}
}catch(SQLException e){
System.out.println(e);
}

if(currentDate.compareTo(lastLogin) == 1){
System.out.println(currentDate);
System.out.println(lastLogin);
sql = "UPDATE CUSTOMERS SET LOGINDATE="+currentDate+", NFLIXCREDIT=3 WHERE USERNAME='"+username+"'";
try{
ps = con.prepareStatement(sql);
ps.executeUpdate();
}catch(SQLException e){
System.out.println(e);
}
}
}

2015-05-30

2015-05-29

错误-

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '1980' for column 'LOGINDATE' at row 1

最佳答案

您使用的不是准备好的声明。

更改为

   sql = "UPDATE CUSTOMERS SET LOGINDATE=?, NFLIXCREDIT=3 WHERE USERNAME=?";
try{
ps = con.prepareStatement(sql);
ps.setDate(1,currentDate);
ps.setString(2,username);
ps.executeUpdate();
}catch(SQLException e){

在您的情况下,将调用日期的toString()方法,然后您的日期太长

关于java - 我无法更新我的日期列?错误: datatruncation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30554615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com