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

语言: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就关闭了浏览器,这时就出错了
想来想去,不知道怎么处理了,求救,一般商城产品发布,图片怎么关联商品
慕无忌1623718
浏览 444回答 2
2回答

手掌心

首先我认为没有必要设置中间的关联表。因为你这只是简单的表关联,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,它实现表的连接简直是分分钟。

慕婉清6462132

1.goods表、file表、good_file关联表这三个这样设计是很常见的解决方法,没有问题。2.主要是你在存储数据的时候先后关系没有搞清楚。3.存储顺序:先存file表,获取存储数据的fileIds。在存goods表,获取goodsID。最后在把fileIds和goodsId关联起来。4.只要保证关联表的数据是在最后一步完成,就不会出现你所说的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript