gpt4 book ai didi

java - 找不到父 key ,我不知道为什么

转载 作者:行者123 更新时间:2023-12-02 09:37:04 25 4
gpt4 key购买 nike

这是我收到的错误!这是当我尝试更新 sql MY_TABLE 表中的某些值时!忽略拼写!从我在其他地方看到的完整性约束是,我正在尝试输入父表中不存在的值!我只是不确定那是什么值!

integrity constraint (MY.FK_MY_TABLE) violated - parent key not found
; nested exception is java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (MY.FK_MY_TABLE) violated - parent key not found
@Component
public class JdbcTemplates {

private JdbcTemplate insertTemplate;

@Value("${TS_ID}")
private String someId;

private static final String INSERT_QUERY = "INSERT INTO MY_TABLE (CFN_NO,CS_D,SOME_CONSTANT," +
"A_NO,R_NO,B_NAME,O_ID,C_ID,A_TYPE,B_STATUS,R_PAGE,R_DATETIME," +
"T_S_RESULTS,D_CNT,B_ACCT_NO,ACC_TYPE,A_F_ID,A_C_ID,AP_ID) " +
"VALUES(?,?,?,?,?,?,?,?,?,?,?,SYS_DATE,?,?,?,?,?,?,?)";

@Resource(name = "dataSource")
private DataSource dataSource;

@PostConstruct
public void init() {

this.insertTemplate = new JdbcTemplate(this.dataSource);
}

public void insertActivity(final String cnfNumber, final Act act){

insertActivityTemplate.update(INSERT_QUERY, new PreparedStatementSetter() {

@Override
public void setValues(PreparedStatement ps) throws SQLException {
ps.setString(1, cnfNumber);
ps.setString(2, act.getCSId());
ps.setString(3, DAOConstants.SOME_CONSTANT);
ps.setString(4, act.getAccNumber());
ps.setString(5, act.getRNumber());
ps.setString(6, act.getBName());
ps.setString(7, act.getOId());
ps.setString(8, act.getCId());
ps.setString(9, activity.getAType().getTCode());
ps.setString(10, YesNo.NO.getSLabel());
ps.setInt(11, act.getRPage());
ps.setInt(12, act.getTResults());
ps.setInt(13, act.getDDataCount());
ps.setString(14, act.getBNumber());
ps.setString(15, act.getAType());
ps.setString(16, act.getAId());
ps.setString(17, act.getAId());
ps.setString(18, tSId);
}

});
}
}

最佳答案

看起来你已经在代码中解决了这个问题,但是下次在 Oracle 数据库中遇到这个问题时,你可以从数据字典中找到答案。

转到错误消息:

ORA-02291: integrity constraint (MY.FK_MY_TABLE) violated - parent key not found

从括号中获取约束所有者和名称,MY.FK_MY_TABLE,然后在数据字典中查找。

使用您的应用所使用的相同凭据登录数据库。

select * from all_cons_columns where owner = 'MY' and CONSTRAINT_NAME = 'FK_MY_TABLE'

这应该显示导致您困扰的表名称和列。

还有一个 all_constraints View ,但它不会告诉您列名称。

关于java - 找不到父 key ,我不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57417340/

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