为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 数据库设计问题 商品图片和商品关联问题

MySQL 数据库设计问题 商品图片和商品关联问题

慕无忌1623718 2019-04-21 20:38:31
语言:java、Spring-mvc数据库:MySQL商品图片和商品关联问题比如发布一个的商品,这个商品有很多图片,这些图片和商品怎么关联,数据库怎么设计我的想法goods表、file表、good_file关联表good_file关联表里面有id、goods_id、file_id如果先添加了goods再来增加file那就没问题,可如果是在发布goods的时候,同时添加file,这个时候因为goods还没提交,没有goods_id,这时怎么处理?good_file关联表里面的goods_id怎么获取。是不是我这设计思路不对我后来又想,添加file的时候,如果还不知道goods_id那么把goods_id设置为0等提交goods的时候,在更新good_file关联表中goods_id为0的,可想来想去还是不对,如果这时同有人在发布产品,那就会出错,或者他上传了file的时候还没提交goods就关闭了浏览器,这时就出错了想来想去,不知道怎么处理了,求救,一般商城产品发布,图片怎么关联商品
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

首先我认为没有必要设置中间的关联表。因为你这只是简单的表关联,file对goods是一对一,goods对file是一对多,那么你就可以在file表中设置goods_id字段,在goods表里设置file_id字段(goods中也可以不设置,看你用了什么框架)你可以这样写:new_file->goods_id=new_goods->id
而goods中的id字段是notnullauto_increment,这样保存的话goods表字段保存当然没有问题,file中的goods_id也不必担心值的问题。
不知道LZ用的是php吗,用的什么框架呢,我一般用Yii,它实现表的连接简直是分分钟。
                            
查看完整回答
反对 回复 2019-04-21
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

1.goods表、file表、good_file关联表这三个这样设计是很常见的解决方法,没有问题。
2.主要是你在存储数据的时候先后关系没有搞清楚。
3.存储顺序:先存file表,获取存储数据的fileIds。在存goods表,获取goodsID。最后在把fileIds和goodsId关联起来。
4.只要保证关联表的数据是在最后一步完成,就不会出现你所说的问题。
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 443 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信