Я хочу обновить таблицу:Postgresql Обновление JDBC
id integer NOT NULL,
"first" character varying(255),
"last" character varying(255),
age integer,
CONSTRAINT registration_pkey PRIMARY KEY (id)
с использованием метода:
void updateTable(String tableName, String columnName, String value,
String columnName2, String value2) {
try {
String sql = "UPDATE " + tableName + " SET " + columnName + " = "
+ value + " WHERE " + columnName2 + " = " + value2;
stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Если я запускаю
.updateTable("employees", "last", "11", "id", "100");
все нормально, но если я попробовать
.updateTable("employees", "last", "xx", "id", "100");
я Получать
org.postgresql.util.PSQLException: ERROR: column "xx" does not exist
Position: 29
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1998).....
вы можете сказать мне, где проблема?
Возможно, попробуйте вывести свою строку sql, прежде чем передавать ее в исполняемое обновление, чтобы убедиться, что все происходит так, как вы ожидаете. То, что вы дали, кажется прекрасным, но при попытке выполнить его, когда значение2 помещается в позицию имени столбца. –