java更新mysql表内容出错

sql语句:
public static void deleteUser(String loginName){
String sql = "update user set flag=3 where loginName= "+ loginName ;
DBUtil.getInstance().delete(sql);
}
错误信息:
java.sql.SQLException: Data truncation: Truncated incorrect DOUBLE value: 'admin' Query: update user set flag=3 where loginName= 123654 Parameters: []
不太懂是怎么错了

update 语句不能调用delete方法,

     DBUtil.getInstance().**delete**(sql);

你换update方法试试

如果你要实现删除,那么你sql语句写错了,应该为

 String sql = "delete from user where loginName="+loginName ;

同时,要捕获SQL异常

 try{
     DBUtil.getInstance().delete(sql);
 }catch(SQLException e){
     e.printStackTrace();
 }

从抛出的异常可以看出将loginName=123456当成double类型的了,所以你的sql语句拼错了!应该拼成这样的where loginName=“123456”。避免这个错误可以?占位符,使用preparedStatement对象的setString方法填充?部分,可直接设置字符串类型的loginName了。

抱歉,手机渣网速,一直发表不了,就连续点了好几下,结果还都上传成功了,显示了这么一堆。。。