【发布时间】:2015-07-08 18:24:51
【问题描述】:
以前的相关帖子:
给定一张桌子:
TABLE: foo
===============================
| id | first_name | last_name |
===============================
| 1 | John | Doe |
| 2 | Jane | Smith |
| 3 | Ronald | McDonald |
-------------------------------
如何获取此表并将其转换为这些表(EAV 实现)?:
TABLE: attribute
===========================
| id | fk_id | attribute |
===========================
| 1 | 100 | first_name |
| 2 | 100 | last_name |
---------------------------
TABLE: value
=========================================
| id | attribute_id | row_id | value |
=========================================
| 1 | 1 | 1 | John |
| 2 | 2 | 1 | Doe |
| 3 | 1 | 2 | Jane |
| 4 | 2 | 2 | Smith |
| 5 | 1 | 3 | Ronald |
| 6 | 2 | 3 | McDonald |
-----------------------------------------
注意事项:
- 将提供attribute.fk_id。
- value.row_id 用于标识值在原始表中如何分组为记录。
更新:另外,我如何查询 EAV 表,以便让它再次看起来像表 foo。
【问题讨论】:
-
是的,比如take。使用 EAV 获得更多游戏时间。
标签: mysql database entity-attribute-value