Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
70 views
in Technique[技术] by (71.8m points)

mysql商品之间的关联

比如有个商品表

这个时候新增一个功能叫针对某些商品进行限时优惠 那么这个时候有一张限时优惠商品表 goods_id挂钩商品表主键

又有一个功能是赠送商品 这个时候又有一张赠送商品表 goods_id挂钩商品表主键

那如果我删了商品表的某些数据 那么其他与商品有关的表都要删除
问题是如果业务越来越大 这部分会牵连的越来越多 相当于操作了商品表就需要操作与商品有关的表 请问有没更好的方法了 设计思路 不用外键关联

比如统计 可能也找不到这个商品了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

不推荐使用数据库外键

除了上面说的,数据不能真删,还可以考虑一点,实际上不论是用真删还是假删,你都可以在其他关联表查询的时候把删除的数据过滤出去,也不会有影响,因为从逻辑上这个所对应的已经是不存在的了,如果你真的要考虑删除其他表的关联,可以考虑使用下面的方式。

对于每个新增的功能点,可以在监听商品表对应模型的的 更新/删除 事件,当事件发生后再做相应的事情,如果需求严格的情况下,别忘了考虑事务。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share

2.1m questions

2.1m answers

63 comments

56.5k users

...