Mysql商品和图片表_【mysql】数据库设计模式:多个图片怎么和商品关联
比如发布商品,标题,单价,属性… 还有一个产品图片,而产品图片一般是选择图片后就上传了图片,这时候产品应该入库啦,这时候还不知道这个商品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】数据库设计模式:多个图片怎么和商品关联相关推荐
- mysql从文本导入表_[Mysql] 用load data将文本文件数据导入到表
MySQL的load data命令可以将文本文件的数据导入到表 有文本文件如下: E:\>more test.txt 1,XX,M 2,YY,F 在mysql里创建表t mysql> cr ...
- mysql 存树 闭包表_关系型数据库树形关系存储-闭包表
前言 在关系型数据库中,有一种逻辑关系比较难处理,这种就是树形结构.目前有很多主流的处理方案,比如说直接在业务表中存储上一级id,这样就可以用递归查询SQL的形式找到某一节点的父节点,子节点,或者兄弟 ...
- java mysql单库多表_第69节:Java中数据库的多表操作
第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者&全栈工程师,感性理性兼备的写作者,个人独立开发者,我相信你也可以!阅读他的文 ...
- mysql重新安装后之前表_关于重装mysql数据库之后.新的数据库引入旧数据的表结构和数据问题...
由于种种问题,也许某一天数据库崩了,或者电脑崩了.重新装Mysql数据库的话:如何导入旧的数据库中的的表结构以及数据呢? 我是在重置电脑之后.进行重装数据库之后.遇到此问题.由于之前未遇到过此种问题. ...
- mysql设计积分兑换表_积分系统数据库表设计.docx
积分系统数据库表设计 文件编号:JHDZ/SJ 密 级: 云上城积分功能数据库设计文档 项目名称:<云上城>项目代号:XXX版 本:V1.0编制单位:平台运营编制日期:2014-10-08 ...
- mysql视图和中间表_数据库设计中的14个技巧
时 间:2006-09-15 00:00:00 作 者: 摘 要:数据库设计中的14个技巧 正 文: 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关 ...
- mysql 列出表_[MySQL优化1]centos中MySQL列出所有表
步骤1 - 连接到MySQL数据库服务器: [root@host]# mysql -u root -p Enter password:****** 提示登陆成功 Welcome to the MySQ ...
- mysql rpo是什么意思_揭开数据库RPO等于0的秘密(上)
前言 传统商业关系数据库都声称可以做到故障恢复后不丢数据(即RPO为0),跟故障前的数据状态是强一致的,实际是否一定如此? 开源数据库MySQL在金融核心业务都不敢用,最重要的一个原因是做不到不丢数据 ...
- jdbc mysql查询显示图片_JDBC【向数据库中存入读取图片】
JDBC-向数据库中存入读取图片 注:此代码依赖自定义的数据库连接工具类 1.向数据库存入一张照片 import java.io.File; import java.io.FileInputStrea ...
最新文章
- Bootstrap-table学习笔记(一)
- L1-039. 古风排版
- 基于PyTorch框架的多层全连接神经网络实现MNIST手写数字分类
- SAP CRM BSP component在test mode下launch的执行顺序
- OpenCL “速成”冲刺【第一天】
- 制作centos的启动盘
- hog函数的用法 python_Python中的基本函数及常用用法简析
- 相册选取图片和照相机取图片
- banner 获取当前指示物_ConvenientBanner使用指南
- 20200728每日一句
- .net core不能使用httpget_.NET Core使用Nlog记录日志
- 光线追踪技术 第二章
- 前端微信支付代码(公众号支付)
- CF1380D Berserk And Fireball 题解
- 微信,该文件已过期或已被清理
- gensim Dictionary 去除某个词 gensim.corpora.dictionary.Dictionary
- 深入理解 Java 反射:Class (反射的入口)
- win11 下beyondcompare 右键菜单中无“比较“
- oracle数据库字符集AL32UTF8修改为ZHS16GBK即从超集到子集
- 亲身历时两个月,这可能是一篇最全面的2021大厂技术岗实习面经
热门文章
- [模版] 网络流最大流、费用流
- 三值的排序 Sorting a Three-Valued Sequence
- 最大匹配 人员分配[邻接表]
- Vijos 1165-火烧赤壁
- linux变量赋值用中括号,Shell脚本定义变量和重新赋值
- python 解析url上的xml_如何从python中的URL读取XML文件?
- spring cloud(三) config
- We will be discontinuing the Nitrous Development Platform and Cloud IDE on November 14th, 2016.
- tar打包和解压命令
- 我的iOS学习历程 - UISlider(简单的设置一组图片动画)