比如发布商品,标题,单价,属性… 还有一个产品图片,而产品图片一般是选择图片后就上传了图片,这时候产品应该入库啦,这时候还不知道这个商品ID,这样怎么关联商品?

如果是提交后修改,这时候知道了商品ID。在上传图片的时候就能关联商品ID

多图,不知道怎么做

回答

1.将上传图片服务独立出来,与具体业务无关,只返回图片的URL

2.上传完图片后,将图片的URL写入input hidden域,和创建或更新表单一起提交,在此做保存或更新操作

3.数据库表结构设计参考楼上的

关于“多个图片”这一点,我想问两个问题:

(1)图片数量是不是不多?

(2)是否需要一起得到所有图片的文件名?

注意第二点不是说非得把所有图片立刻全部显示出来。(例如网上商城的APP,商品一点开必然只下载显示第一张图片,左右划动时其他图片要转圈圈等下载。但所有图片的URL肯定是立刻全都知道的,不可能划动时先去查询其他图片的网址,再去下载图片内容,白白浪费一次http请求)

如果这两个问题的答案都是“是”,则建议根本不要建立关联表,而是用一个json格式*字段,把所有图片的文件名做成个数组塞在一起就行,非常的简单有效。同时通过数组格式还可以实现最为简便可行,无需任何代码的排序功能。

*:pgsql等有原生json字段的可以用,mysql等无原生json字段的用text等效之。当然也可不用json,例如用|等特殊符号分开也很简单易行。

图片上传后把图片的地址和ID存入一个表

然后把ID和产品的ID关联起来

表结构大概如下:

商品表

ID | …

关联表

goods_id | image_id

图片表

id | image_url

或者减少一个表直接在关联表里面存图片 url。那样灵活性会差一些。

1、将准备加图的商品id,商品名称导出。

2、将图片命名 商品id.jpg这种格式。

3、图片上传之后的存储到它表,字段为 id,商品id,图片地址;

其中商品id明显可以从图片名字中获取到。

类似与这种简单的sql就能关联上咯。

select ... from t_product as A,t_pic as B where A.product_id = B.product_id

你可以参考Bmob后端云的关联查询和数组这些特殊字段的设计,设计一个伸缩性强的数据库。

Mysql商品和图片表_【mysql】数据库设计模式:多个图片怎么和商品关联相关推荐

  1. mysql从文本导入表_[Mysql] 用load data将文本文件数据导入到表

    MySQL的load data命令可以将文本文件的数据导入到表 有文本文件如下: E:\>more test.txt 1,XX,M 2,YY,F 在mysql里创建表t mysql> cr ...

  2. mysql 存树 闭包表_关系型数据库树形关系存储-闭包表

    前言 在关系型数据库中,有一种逻辑关系比较难处理,这种就是树形结构.目前有很多主流的处理方案,比如说直接在业务表中存储上一级id,这样就可以用递归查询SQL的形式找到某一节点的父节点,子节点,或者兄弟 ...

  3. java mysql单库多表_第69节:Java中数据库的多表操作

    第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文 ...

  4. mysql重新安装后之前表_关于重装mysql数据库之后.新的数据库引入旧数据的表结构和数据问题...

    由于种种问题,也许某一天数据库崩了,或者电脑崩了.重新装Mysql数据库的话:如何导入旧的数据库中的的表结构以及数据呢? 我是在重置电脑之后.进行重装数据库之后.遇到此问题.由于之前未遇到过此种问题. ...

  5. mysql设计积分兑换表_积分系统数据库表设计.docx

    积分系统数据库表设计 文件编号:JHDZ/SJ 密 级: 云上城积分功能数据库设计文档 项目名称:<云上城>项目代号:XXX版 本:V1.0编制单位:平台运营编制日期:2014-10-08 ...

  6. mysql视图和中间表_数据库设计中的14个技巧

    时 间:2006-09-15 00:00:00 作 者: 摘 要:数据库设计中的14个技巧 正 文: 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关 ...

  7. mysql 列出表_[MySQL优化1]centos中MySQL列出所有表

    步骤1 - 连接到MySQL数据库服务器: [root@host]# mysql -u root -p Enter password:****** 提示登陆成功 Welcome to the MySQ ...

  8. mysql rpo是什么意思_揭开数据库RPO等于0的秘密(上)

    前言 传统商业关系数据库都声称可以做到故障恢复后不丢数据(即RPO为0),跟故障前的数据状态是强一致的,实际是否一定如此? 开源数据库MySQL在金融核心业务都不敢用,最重要的一个原因是做不到不丢数据 ...

  9. jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】

    JDBC-向数据库中存入读取图片 注:此代码依赖自定义的数据库连接工具类 1.向数据库存入一张照片 import java.io.File; import java.io.FileInputStrea ...

最新文章

  1. Bootstrap-table学习笔记(一)
  2. L1-039. 古风排版
  3. 基于PyTorch框架的多层全连接神经网络实现MNIST手写数字分类
  4. SAP CRM BSP component在test mode下launch的执行顺序
  5. OpenCL “速成”冲刺【第一天】
  6. 制作centos的启动盘
  7. hog函数的用法 python_Python中的基本函数及常用用法简析
  8. 相册选取图片和照相机取图片
  9. banner 获取当前指示物_ConvenientBanner使用指南
  10. 20200728每日一句
  11. .net core不能使用httpget_.NET Core使用Nlog记录日志
  12. 光线追踪技术 第二章
  13. 前端微信支付代码(公众号支付)
  14. CF1380D Berserk And Fireball 题解
  15. 微信,该文件已过期或已被清理
  16. gensim Dictionary 去除某个词 gensim.corpora.dictionary.Dictionary
  17. 深入理解 Java 反射:Class (反射的入口)
  18. win11 下beyondcompare 右键菜单中无“比较“
  19. oracle数据库字符集AL32UTF8修改为ZHS16GBK即从超集到子集
  20. 亲身历时两个月,这可能是一篇最全面的2021大厂技术岗实习面经

热门文章

  1. [模版] 网络流最大流、费用流
  2. 三值的排序 Sorting a Three-Valued Sequence
  3. 最大匹配 人员分配[邻接表]
  4. Vijos 1165-火烧赤壁
  5. linux变量赋值用中括号,Shell脚本定义变量和重新赋值
  6. python 解析url上的xml_如何从python中的URL读取XML文件?
  7. spring cloud(三) config
  8. We will be discontinuing the Nitrous Development Platform and Cloud IDE on November 14th, 2016.
  9. tar打包和解压命令
  10. 我的iOS学习历程 - UISlider(简单的设置一组图片动画)