无法在 postgresql 中使用 AND 运算符更新数据库中的值
Unable to update value in database using AND operator in postgresql
我正在开发一个 Java swing 应用程序,我试图在其中更新 PostgreSQL 数据库,当用户进行任何更改。
table 中有四个字段,如果我尝试一次更新一列,它工作正常,但是当我使用 AND
时,它会向我显示以下错误消息
Caught Exception:- org.postgresql.util.PSQLException: ERROR: argument of AND must be type boolean, not type character varying
下面是我用来更新 table 的代码。
Connection con = DbConnection.getConnect();
Statement stmt = con.createStatement();
String sql = "UPDATE webservice_config set product = ? AND product_cat = ? AND stock = ? where ID=?;";
PreparedStatement pstInsert = con.prepareStatement(sql);
pstInsert.setString(1, product);
pstInsert.setString(2, productCat);
pstInsert.setString(3, stock);
pstInsert.setString(4, "1");
pstInsert.executeUpdate();
con.close();
任何帮助
在具有多个 列的 table 上执行 UPDATE
时, 您应该使用 ,
来分隔每一列,而不是 AND
运算符,所以你的代码应该是这样的:
String sql = "UPDATE webservice_config set product = ?,product_cat = ?,stock = ? where ID=?;";
PostgreSQL Documentation : SQL-UPDATE
如果第一个条件 AND 第二个条件都为真,则 AND 运算符显示一条记录
我正在开发一个 Java swing 应用程序,我试图在其中更新 PostgreSQL 数据库,当用户进行任何更改。
table 中有四个字段,如果我尝试一次更新一列,它工作正常,但是当我使用 AND
时,它会向我显示以下错误消息
Caught Exception:- org.postgresql.util.PSQLException: ERROR: argument of AND must be type boolean, not type character varying
下面是我用来更新 table 的代码。
Connection con = DbConnection.getConnect();
Statement stmt = con.createStatement();
String sql = "UPDATE webservice_config set product = ? AND product_cat = ? AND stock = ? where ID=?;";
PreparedStatement pstInsert = con.prepareStatement(sql);
pstInsert.setString(1, product);
pstInsert.setString(2, productCat);
pstInsert.setString(3, stock);
pstInsert.setString(4, "1");
pstInsert.executeUpdate();
con.close();
任何帮助
在具有多个 列的 table 上执行 UPDATE
时, 您应该使用 ,
来分隔每一列,而不是 AND
运算符,所以你的代码应该是这样的:
String sql = "UPDATE webservice_config set product = ?,product_cat = ?,stock = ? where ID=?;";
PostgreSQL Documentation : SQL-UPDATE
如果第一个条件 AND 第二个条件都为真,则 AND 运算符显示一条记录