更新从表外键报错
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);
}
}
结论:
在更新或者删除从表中的记录时,主表中这条记录必须存在!!!