SQL错误:违反完整性约束:外键没有父级

亚辛·哈亚杰(Yassin Hajaj)

我正在努力查找自己在查询中做错的事情。我没有创建数据库,但这是结构:

3张桌子:

车辆:品牌,电机,价格,名称,ID

选项:id,描述,价格

vehicule_option:id_vehicule,id_option

我猜vehicule_option有2个外键,但是我找不到添加的问题。这是我的代码,第一部分工作正常:

public boolean create(Vehicule v){
        String query = "INSERT INTO vehicule (MARQUE, MOTEUR, PRIX, NOM) VALUES (";
        query += v.getMarque().getId() + ", "
                + v.getMoteur().getId() + ", "
                + v.getPrix() + ", \'"
                + v.getNom() + "\');";

        for (Option o : v.getOptions()){
            query += "INSERT INTO vehicule_option (id_vehicule, id_option) VALUES ("
                    + v.getId() + ", " + o.getId() + ");";
        }


        try{
            Statement state = this.connect.createStatement();
            ResultSet rs = state.executeQuery(query);
        } catch (SQLException e){
            e.printStackTrace();
        }
        return true;
    }

因此,我在这里所做的基本上是在正确的列中插入两个值。它给了我以下异常:

java.sql.SQLIntegrityConstraintViolationException: integrity constraint violation: foreign key no parent; SYS_FK_10132 table: VEHICULE_OPTION
    at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
    at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
    at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)
    at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source)
    at fr.ocr.sql.DAOVehicule.create(DAOVehicule.java:35)
    at fr.ocr.ihm.AddCarDialogBox$1.actionPerformed(AddCarDialogBox.java:151)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.hsqldb.HsqlException: integrity constraint violation: foreign key no parent; SYS_FK_10132 table: VEHICULE_OPTION
    at org.hsqldb.error.Error.error(Unknown Source)
    at org.hsqldb.Constraint.getException(Unknown Source)
    at org.hsqldb.Constraint.checkInsert(Unknown Source)
    at org.hsqldb.StatementDML.performIntegrityChecks(Unknown Source)
    at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
    at org.hsqldb.StatementInsert.getResult(Unknown Source)
    at org.hsqldb.StatementDMQL.execute(Unknown Source)
    at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
    at org.hsqldb.Session.executeDirectStatement(Unknown Source)
    at org.hsqldb.Session.execute(Unknown Source)
    ... 40 more
安德烈亚斯(Andreas)

您刚刚插入了一条新vehicule记录,那么您将如何知道该记录的ID v.getId()

因为创建了一个新的,所以您不是,而且v.getId()很可能会这样做0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Hibernate OneToMany违反完整性约束:外键没有父代

来自分类Dev

违反完整性约束,外键约束失败

来自分类Dev

mysql外键(违反完整性约束)

来自分类Dev

SQLAlchemy抛出完整性错误,“表上的更新或删除违反了外键约束”

来自分类Dev

Laravel 8-由于违反完整性约束,可以删除但不能更新父行:外键约束失败

来自分类Dev

Laravel:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

Laravel 5:SQLSTATE [23000]:违反完整性约束,外键约束失败

来自分类Dev

违反完整性约束-即使在父表中存在行也找不到父键

来自分类Dev

违反完整性约束-即使在父表中存在行也找不到父键

来自分类Dev

引起:java.sql.SQLIntegrityConstraintViolationException:ORA-02291:违反完整性约束 - 未找到父键

来自分类Dev

违反完整性约束-调用存储过程时找不到父键

来自分类Dev

将外键用于用户角色时违反完整性约束

来自分类Dev

完整性约束违规:1451 无法删除或更新父行:外键约束失败

来自分类Dev

在重复键更新上-获取“违反完整性约束”

来自分类Dev

Laravel 5:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败-Laravel

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

Laravel 6-SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败-Laravel

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败-Laravel

来自分类Dev

Laravel - SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败

来自分类Dev

Laravel 种子:违反完整性约束:1452 无法添加或更新子行:外键约束失败

来自分类Dev

Laravel:SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败

来自分类Dev

SQLSTATE [23000]:完整性约束违反错误处理

来自分类Dev

“违反完整性约束:1062重复的条目”-但没有重复的行

Related 相关文章

  1. 1

    Hibernate OneToMany违反完整性约束:外键没有父代

  2. 2

    违反完整性约束,外键约束失败

  3. 3

    mysql外键(违反完整性约束)

  4. 4

    SQLAlchemy抛出完整性错误,“表上的更新或删除违反了外键约束”

  5. 5

    Laravel 8-由于违反完整性约束,可以删除但不能更新父行:外键约束失败

  6. 6

    Laravel:违反完整性约束:1452无法添加或更新子行:外键约束失败

  7. 7

    Laravel 5:SQLSTATE [23000]:违反完整性约束,外键约束失败

  8. 8

    违反完整性约束-即使在父表中存在行也找不到父键

  9. 9

    违反完整性约束-即使在父表中存在行也找不到父键

  10. 10

    引起:java.sql.SQLIntegrityConstraintViolationException:ORA-02291:违反完整性约束 - 未找到父键

  11. 11

    违反完整性约束-调用存储过程时找不到父键

  12. 12

    将外键用于用户角色时违反完整性约束

  13. 13

    完整性约束违规:1451 无法删除或更新父行:外键约束失败

  14. 14

    在重复键更新上-获取“违反完整性约束”

  15. 15

    Laravel 5:违反完整性约束:1452无法添加或更新子行:外键约束失败

  16. 16

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败-Laravel

  17. 17

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

  18. 18

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

  19. 19

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

  20. 20

    Laravel 6-SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

  21. 21

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

  22. 22

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败-Laravel

  23. 23

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败

  24. 24

    SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败-Laravel

  25. 25

    Laravel - SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败

  26. 26

    Laravel 种子:违反完整性约束:1452 无法添加或更新子行:外键约束失败

  27. 27

    Laravel:SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败

  28. 28

    SQLSTATE [23000]:完整性约束违反错误处理

  29. 29

    “违反完整性约束:1062重复的条目”-但没有重复的行

热门标签

归档