gpt4 book ai didi

java - 插入数据库时​​出错 : ERROR: syntax error at or near "$1"

转载 作者:行者123 更新时间:2023-11-29 12:29:49 26 4
gpt4 key购买 nike

我在 java 中使用查询来插入 postgresql 数据库。

当我手动附加参数时,我正在使用的查询工作正常,但是当我通过准备好的语句提供参数时,它给出的错误如下:

错误:“$1”处或附近的语法错误

我正在使用以下代码:

String InsertInTi="INSERT INTO ssr_timeline_test("
+"ti_id, module_id, module_name, updated_date, tie_updates,"
+"additional_options, co_count, ca_type)"
+"(?,?,?,current_timestamp,?,?,?,?)";

pres = con.prepareStatement(InsertInTi);
pres.setInt(1,tId);
pres.setString(2,moduleId);
pres.setString(3,moduleName);
pres.setString(4,ti.toJSONString());
pres.setString(5,additionalOption.toJSONString());
pres.setInt(6,coCount);
pres.setString(7,caType);
System.out.println("Query : "+pres );
pres.execute();

任何人都可以提出相同的解决方案吗?

我还检查了传递给参数的值的类型。它们是:

TimInsert(int tId , String moduleId, String moduleName , JSONObject ti, JSONObject additionalOption , int coCount , String caType)

最佳答案

您的插入缺少 VALUES 子句 - 因此出现错误。

改成

 String InsertInTi="INSERT INTO ssr_timeline_test("
+"ti_id, module_id, module_name, updated_date, tie_updates,"
+"additional_options, co_count, ca_type) values " //added here
+"(?,?,?,current_timestamp,?,?,?,?)";

也许调用 executeUpdate() 而不是 execute()

关于java - 插入数据库时​​出错 : ERROR: syntax error at or near "$1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35199999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com