自定义元键 => 值查询的 MySQL 数据库设计

标签 mysql database-design metadata key-value

我正在为我的网站制作一个产品数据库。我目前有:

产品表:产品ID、产品名称、价格

Product_meta 表:Pmeta_id、Product ID、metaKey、metaValue

我基本上想要它,这样我就可以通过指定元键来查询产品,然后将键=>值对放入其中,或者通过键获取值。

我相信 Wordpress 有类似的方法,但我不太确定如何着手制作函数来获取数据。我假设它会涉及表连接???

如有任何帮助,我们将不胜感激。

最佳答案

SELECT * FROM Product_meta AS M
LEFT OUTER JOIN Products AS P ON ( P.Product_ID = M.Product_ID )
WHERE M.metaKey = ...

或者如果 Products 表领先,则将其调转:

SELECT * FROM Products AS P
LEFT OUTER JOIN Product_meta AS M ON ( P.Product_ID = M.Product_ID )
WHERE M.metaKey = ...

当您只想显示 Products 表和 Product_meta 表中的记录时,您也可以将 LEFT OUTER JOIN 更改为 INNER JOIN

如果你想在 WHERE 子句中有多个值,那么使用这个查询:

... WHERE M.metaKey IN (..,..,..)

确保您的数据以逗号分隔

关于自定义元键 => 值查询的 MySQL 数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14603316/

相关文章:

php - 在sql中查找最大平均值

sql - 如何设计公交路线数据库?

mysql - 设计一个关系数据库,以便实体可以保存一组可选的数据

java - C++ 类中 'this' 指针可以为空吗?

mysql - 从数据库表中检索最小和最大字符串

php - 在图像上单击更改 mysql 值

python id3 标签 unicode

ios - 如何从 Dropbox 上存储的视频获取视频元数据?

mysql - SQL CAST(int as varchar) 抛出错误

user-interface - 从数据库设计到 UI 还是反过来?