我有下一个SQL模板:
INSERT_QUERY = "INSERT INTO "article" (article_table, article_id) VALUES ({1}, {2}) RETURNING article_id";
我无法更改此模板。任务是从sql base返回id。我做了什么:
PreparedStatement insert_query = db.prepareStatement(String.format(INSERT_QUERY, table, id));
insert_query.executeUpdate();
ResultSet result_id = insert_query.getGeneratedKeys();
if(result_id.next()){
id = result_id.getInt(1);
}
System.out.println(this.id);
但是这段代码确实插入了值,但没有返回任何内容((
线程中的异常" main" org.postgresql.util.PSQLException:A 当没有人预期时,结果被返回。
如果我改为:
db.prepareStatement(String.format(INSERT_QUERY, table, id), PreparedStatement.RETURN_GENERATED_KEYS);
sql查询变为:
INSERT INTO "article" (article_table, article_id)
VALUES ({1}, {2}) RETURNING article_id RETURNING *
无效。 所以我的问题是,我有什么方法可以使用现有模板来返回id或最终我需要更改它?