Postgres INSERT INTO where带有Java preparestatement的子句

问题描述 投票:0回答:2

我正在尝试使用Java和postgres JDBC在带有PreparedStatement的表中插入数据。我想在给定房间号的条件下插入列开始日期和列结束日期值(?);

PreparedStatement stm = conn.prepareStatement(“在房间内插入房间(开始日期,结束日期)值(?,?)值(?,?)=”“))

它在WHERE给我一个错误。什么是正确的语法。非常感谢

java postgresql prepared-statement where-clause
2个回答
3
投票

使用UPDATE更改现有行,使用INSERT创建新行。文档中有许多示例:https://www.postgresql.org/docs/9.5/static/sql-update.html

例如:UPDATE room SET startdate = ?, enddate = ? WHERE roomnumber = ?


0
投票

您可以使用类似的内容:

insert into room(startdate, enddate) select '2020-01-01'::date, '2020-02-11'::date where (select roomnumber = ? from roomnumber_table);

也请检查此:https://www.postgresql.org/docs/12/queries-with.html

© www.soinside.com 2019 - 2024. All rights reserved.