gpt4 book ai didi

java - PostgreSQL & JDBC 使用 `setArray` 设置整数数组抛出异常 "cannot cast type integer[] to integer"

转载 作者:行者123 更新时间:2023-11-29 11:58:25 27 4
gpt4 key购买 nike

如何在 JDBC 中设置整数数组(使用 setArray 为 in 子句准备的语句?

String query = "SELECT * FROM table WHERE id IN (?)";
// other things.
// ArrayList<Integer> some_ids;
preparedStatement.setArray(1, conn.createArrayOf("INTEGER", some_ids.toArray()));

它编译,但执行从 Postgres 返回它。

ERROR: cannot cast type integer[] to integer

最佳答案

在 PostgreSQL 中你必须使用 = ANY(?) 而不是 IN (?)

"SELECT * FROM table WHERE id = ANY(?)";

看看这个:9.21.3. ANY/SOME (array)

关于java - PostgreSQL & JDBC 使用 `setArray` 设置整数数组抛出异常 "cannot cast type integer[] to integer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50084389/

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