gpt4 book ai didi

Java 准备好的语句抛出 SQLIntegrityConstraintViolationException : Invalid argument(s) in call

转载 作者:行者123 更新时间:2023-12-01 23:38:41 27 4
gpt4 key购买 nike

我正在尝试通过Java代码将记录插入到DB(Oracle)中。当它当时正在准备语句时,它会抛出异常

java.sql.SQLIntegrityConstraintViolationException: Invalid argument(s) in call

在下面的代码行:

PreparedStatement ps = connection.prepareStatement(INSERT_QUERY);

插入查询是:

private static final String INSERT_QUERY = "INSERT INTO ABC ( uid,created_datetime,status,update_datetime,b_id,ref_no,ref_dt,sor,b1_id,c_code,base,name,src,trn_date,country,pr,cv,features,scoring_time_ms,scoring_request_time_ms,preprocessing_time_ms,postprocessing_time_ms,overall_time_ms )VALUES ( ?,current_timestamp,?,current_timestamp,?,?,?,?,?,?,?,?,?,current_timestamp,?,?,?,?,?,?,?,?,? )";

当我调试代码时,我发现在准备语句connection.prepareStatement(INSERT_QUERY);插入查询时显示如下:

INSERT INTO ABC ( uid,created_datetime,status,update_datetime,b_id,ref_no,ref_dt,sor,b1_id,c_code,base,name,src,trn_date,country,pr,cv,features,scoring_time_ms,scoring_request_time_ms,preprocessing_time_ms,postprocessing_time_ms,overall_time_ms )VALUES ( ?,systimestamp,?,systimestamp,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? )

它正在将 current_timestamp 更改为 systimestamp,而且我在查询中有 3 个 current_timestamp,但在调试时缺少第三个。

我已经从数据库中删除了所有记录。 DB 是空的,没有约束,只有主键。

任何人都可以帮我解决这个问题吗?为什么会发生这种情况?我该如何解决这个问题?

最佳答案

SQLIntegrityConstraintViolationException 指向数据库约束违规。检查表“ABC”中的主键/唯一键/外键。仅根据insert语句,可以假设uid必须是唯一的。

关于Java 准备好的语句抛出 SQLIntegrityConstraintViolationException : Invalid argument(s) in call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58270521/

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