有没有像preparedStatement.setDefault()这样的东西?

时间:2014-06-20 16:27:10

标签: java sql postgresql jdbc

如果我的声明如下:

INSERT INTO foo (id, name, description, etc_a, etc_b)
VALUES (?, ?, ?, ?, ?);

它被传递到PreparedStatement。有时我想指定一个id,有时我想使用数据库的DEFAULT作为id,这是下一个未使用的id值。

我有没有办法告诉PreparedStatement(PS)使用DEFAULT作为其中一个值而没有第二个PS DEFAULT代替第一个? 1}}?

我正在使用PostgreSQL。

1 个答案:

答案 0 :(得分:3)

不幸的是,PgJDBC目前没有做你想做的事。您必须使用文字DEFAULT关键字。使用参数无法做到这一点。

The team I work for正在开发一种增强功能来解决这个问题,并希望尽快将其发布到PgJDBC版本中。然后,您就可以将setObject(...)与特殊占位符实例一起使用,以表明您需要DEFAULT