英文:
Syntax error at or near "$1" jdbc postgres -> SET var=?
问题
尝试执行以下代码:
this.getSessionFactory().getCurrentSession()
.createNativeQuery("SET app.variable = :variable")
.setParameter("variable","variableValue")
.executeUpdate();
它给我返回了以下错误:
org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
Position: 26
我不确定这是JDBC还是PostgreSQL的错误。
当我在DBeaver中使用绑定变量时,似乎不是PostgreSQL的问题,查询正常工作。
尝试创建一个准备好的语句执行相同的查询结果相同。
英文:
Trying to execute the following code :
this.getSessionFactory().getCurrentSession()
.createNativeQuery("SET app.variable = :variable")
.setParameter("variable","variableValue")
.executeUpdate();
It is giving me the following error :
org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
Position: 26
I'm not sure if this is a bug in JDBC or PostgreSQL.
It seems not a PostgreSQL issue as when I use the DBeaver using bind variables the query works fine.
Tried the same query by creating a prepared statement as well and the Result was same.
答案1
得分: 3
SQL语句中的SET
不接受参数。只有SELECT
、VALUES
、INSERT
、UPDATE
、DELETE
和MERGE
支持参数。
英文:
The SQL statement SET
accepts no parameters. Only SELECT
, VALUES
, INSERT
, UPDATE
, DELETE
and MERGE
do.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论