有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

由于外键约束,java数据库插入失败

我正在开发数据库迁移程序,我正在尝试将一个数据库迁移到另一个已经创建了表的数据库。更具体地说,我有两个几乎相同的表的数据库,一个是满的,另一个是空的。我的问题是迁移表值按字母顺序处理。有些表有外键,如果这些表在外键表的字母前面,我就不能插入值。有没有办法禁用java或postgresql上的外键检查。任何帮助都会很好


共 (2) 个答案

  1. # 1 楼答案

    引用完整性是一个DB属性,而不是JDBC属性-在运行导入之前,需要显式删除或禁用数据库上的FK约束,然后再重新启用它们

    最好确定数据的层次结构,先从独立记录开始插入数据,然后在插入过程中将从属记录链接到这些记录

  2. # 2 楼答案

    如果我是对的,就不可能在postgresql上禁用fk。正如@mcfinnigan所说,您可以在开始插入之前删除fk,也可以使用可延迟键重新创建约束。请参阅postgresql CREATE TABLE documentation.

    可解除意味着,在事务完成之前不会检查fk