我正在设计MySql数据库来存储多种产品,例如电脑,手机,笔驱动器......等。每种产品都有不同的功能,例如
**Computers has**
Processor
Ram
HDD
Monitor Size
....etc
**Mobile phone has**
Display Size
Network type
OS
Internal Memory
....etc
**Pendrive has**
Capacity
USB Version
....etc
我必须存储无限数量的产品,而不是为每个产品创建单独的表如何创建数据库结构以将这些信息存储在一个或固定数量的表(数据表+映射表)上。(我认为Wordpress存储这种格式的数据,它使用很少的表并在这些表中存储与帖子/类别相关的任何数字字段)。任何解决此问题的帮助/想法将不胜感激。
最佳答案
考虑一下这个 创建三个表product、feature、product_feature,也许还有product_photos
产品数据库将为
pid, p_name, p_description, p_price, ...
insert query
INSERT INTO (p_name, p_description, p_price, ....) VALUES(?,?,?,...)
特征表将
fid, f_name, f_description, ...
insert query
INSERT INTO (F_name, F_description, ....) VALUES(?,?,?,...)
现在product_feature表将是
id, pid, fid
query for one product
// say a product Id is 1
INSERT INTO (pid, fid) VALUES(1, 10)
INSERT INTO (pid, fid) VALUES(1, 15
INSERT INTO (pid, fid) VALUES(1, 30)
其中 pid 和 fid 是具有关系的外键,phpmyadmin 可以为您做到这一点 然后您可以添加具有多种功能的产品
那么也许是照片表
foto_id, photo_name, photo_path ....
对所有表使用 InnoDB
如果您需要进一步帮助,请告诉我
关于mysql - 将多个数据表存储在单个数据库表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21835289/