java.sql.SQLException: ORA00971: missing SET keyword

 StringBuilder sbSql = new StringBuilder();
      sbSql.append("update t_user ")
         .append("user_name   = ?, ")
         .append("password    = ?, ")
         .append("contact_tel = ?, ")
         .append("email       = ?, ")
         .append("where  user_id     = ? ");

sbSql.executeUpdate();执行的时候会出错java.sql.SQLException: ORA-00971: missing SET keyword

意为缺少SET关键字,即SQL语句本身出错了。

加上set关键字,改为以下:

StringBuilder sbSql = new StringBuilder();
      sbSql.append("update t_user ")
         .append("set user_name   = ?, ")
         .append("password    = ?, ")
         .append("contact_tel = ?, ")
         .append("email       = ?, ")
         .append("where  user_id     = ? ");

 

 

sbSql.executeUpdate();执行的时候会出错:java.sql.SQLException: ORA-01747: invalid user.table.column, table.column, or column specification

 

原因是什么呢,因为上面的SQl语句中多写了一个逗号,就是那个标为红色的逗号,去掉就可以了。

 

原文地址:https://www.cnblogs.com/xuewater/p/2683178.html