老师您好 请问为什么要将此类别下商品的类别id置为空啊
来源:7-5 商品类别删除后端开发
慕圣6143811
2019-07-25
老师 这里没太理解 删除不是把数据库的表中一整条都删掉了吗? 为什么要先将id清空呢???
写回答
1回答
-
翔仔
2019-07-25
同学好,
@Transactional public ProductCategoryExecution deleteProductCategory(long productCategoryId, long shopId) throws ProductCategoryOperationException { // 解除tb_product里的商品与该producategoryId的关联 try { int effectedNum = productDao.updateProductCategoryToNull(productCategoryId); if (effectedNum < 0) { throw new ProductCategoryOperationException("商品类别更新失败"); } } catch (Exception e) { throw new ProductCategoryOperationException("deleteProductCategory error: " + e.getMessage()); } // 删除该productCategory try { int effectedNum = productCategoryDao.deleteProductCategory(productCategoryId, shopId); if (effectedNum <= 0) { throw new ProductCategoryOperationException("商品类别删除失败"); } else { return new ProductCategoryExecution(ProductCategoryStateEnum.SUCCESS); } } catch (Exception e) { throw new ProductCategoryOperationException("deleteProductCategory error:" + e.getMessage()); } }
咱们首先将跟该商品类关联的商品的类别id置为空,然后再删除productCategory,这样做是为了避免删除的时候违反外键约束,同学可以在tb_product还引用该productCategory的情况删除该productCategory试试
00
相似问题