更新从表外键报错

1.主从表


在向定区数据库中添加记录时,期初先更新分区中的外键,结果抛异常 !!!

@Override
    public void addDecidedzone(String[] subareaId, Decidedzone decidedzone) {
        
        //维护分区表中的外键关系
        String decidedzoneId = decidedzone.getId();
        for(String subid:subareaId){
            subareaMapper.updateForeignKeyByPrimaryKey(subid,decidedzoneId);
        }

        //定区数据入库
        decidedzoneMapper.insert(decidedzone);
    }

Cannot add or update a child row: a foreign key constraint fails 。。。。。。

将代码改为先向主表中插入记录,在更新从表中的外键,结果从表正常更新 

@Override
    public void addDecidedzone(String[] subareaId, Decidedzone decidedzone) {
        //定区数据入库
        decidedzoneMapper.insert(decidedzone);
        //维护分区表中的外键关系
        String decidedzoneId = decidedzone.getId();
        for(String subid:subareaId){
            subareaMapper.updateForeignKeyByPrimaryKey(subid,decidedzoneId);
        }
    }

结论:

在更新或者删除从表中的记录时,主表中这条记录必须存在!!! 

猜你喜欢

转载自blog.csdn.net/ZQQ8015/article/details/85693484