时间:2021-07-01 10:21:17 帮助过:28人阅读
+--------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| cate_id | int(11) | NO | | NULL | |
| name | varchar(100) | NO | | NULL | |
| name_extend | varchar(200) | NO | | NULL | |
| price | decimal(10,2) | NO | | NULL | |
| origin_price | decimal(10,2) | NO | | NULL | |
| stock | int(11) | NO | | NULL | |
| desc | tinytext | NO | | NULL | |
| detail | text | NO | | NULL | |
| express | int(11) | NO | | NULL | |
| status | tinyint(1) | NO | | NULL | |
| slide | tinyint(1) | NO | | NULL | |
| is_delete | tinyint(1) | NO | | NULL | |
| add_time | int(11) | NO | | NULL | |
+--------------+---------------+------+-----+---------+----------------+
有一张商品的图片表:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| goods_id | int(11) | NO | | NULL | |
| img_path | varchar(255) | NO | | NULL | |
| is_main | tinyint(1) | NO | | NULL | |
| add_time | int(11) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
商品表与商品图片表是一对多的关系,现在要获取商品的信息及所有图片,怎么查会比较合适点?
有一张商品表:
+--------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| cate_id | int(11) | NO | | NULL | |
| name | varchar(100) | NO | | NULL | |
| name_extend | varchar(200) | NO | | NULL | |
| price | decimal(10,2) | NO | | NULL | |
| origin_price | decimal(10,2) | NO | | NULL | |
| stock | int(11) | NO | | NULL | |
| desc | tinytext | NO | | NULL | |
| detail | text | NO | | NULL | |
| express | int(11) | NO | | NULL | |
| status | tinyint(1) | NO | | NULL | |
| slide | tinyint(1) | NO | | NULL | |
| is_delete | tinyint(1) | NO | | NULL | |
| add_time | int(11) | NO | | NULL | |
+--------------+---------------+------+-----+---------+----------------+
有一张商品的图片表:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| goods_id | int(11) | NO | | NULL | |
| img_path | varchar(255) | NO | | NULL | |
| is_main | tinyint(1) | NO | | NULL | |
| add_time | int(11) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
商品表与商品图片表是一对多的关系,现在要获取商品的信息及所有图片,怎么查会比较合适点?
如果商品表是 goods
,图片表是 images
,需要获取图片的 id
为参数,则:
SELECT `goods`.`id`, `goods`.`name`, `goods`.`name_extend`, `images`.`img_path` FROM `goods`, `images` WHERE `goods`.`id` = `images`.`goods_id` AND `goods`.`id` = 'ID_IMPUTED';
注意,其中 ID_IMPUTED
为你要指定的商品 id
值。
建议取消图片表
如果商品图片的属性(例如:创建时间)不重要的化建议取消图片表.
如果图片的信息不需要检索的话, 直接插入到exif中). 尽量减少数据冗余.
建议将图片id插入到商品表中的一列
建议将图片id插入到商品表中的一列. 图片id即文件名, path根据用户id等其他因素确定.