gpt4 book ai didi

java - JdbcTemplate 在插入时返回 UUID "A result was returned when none was expected."

转载 作者:行者123 更新时间:2023-12-02 03:26:18 26 4
gpt4 key购买 nike

我的插入查询返回已插入记录的 UUID。下面是相关代码。

KeyHolder keyHolder = new GeneratedKeyHolder();

template.update(connection -> {
PreparedStatement ps = connection.prepareStatement(insertQuery);
ps.setString(1, stateName);
ps.setString(2, stateAb);
ps.setObject(3, propertyDetailsObject);


return ps;
}, keyHolder);

我正在使用一个以 select id from tmpproperty limit 1; 结尾的长 CTE 查询; 我在这里缩短了内容以便于阅读。

但是我得到以下异常

org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; A result was returned when none was expected.; nested exception is org.postgresql.util.PSQLException: A result was returned when none was expected.

我在网上找到了上面的例子,并希望它能工作。知道我应该采取什么不同的做法吗?

最佳答案

需要更改为:

PreparedStatement ps =  connection.prepareStatement(youSQL, new String[]{"id"});

其中 id 是主键列名称

并删除select id from tmpproperty limit 1;,更新查询就足够了。

关于java - JdbcTemplate 在插入时返回 UUID "A result was returned when none was expected.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56905870/

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