Вот часть 1: MySQL: как конвертировать в EAV?
Теперь я хочу сделать что-то другое.Допустим, у меня есть следующая таблица:
TABLE: one
=======================================
| id | fk_id | attribute | value |
=======================================
| 1 | 10 | first_name | John |
| 2 | 10 | last_name | Doe |
| 3 | 55 | first_name | Bob |
| 4 | 55 | last_name | Smith |
---------------------------------------
Я хочу преобразовать ее в эту модель EAV:
TABLE: attribute
===================
| id | attribute |
===================
| 1 | first_name |
| 2 | last_name |
-------------------
TABLE: value
=====================================
| id | attribute_id | fk_id | value |
=====================================
| 1 | 1 | 10 | John |
| 2 | 2 | 10 | Doe |
| 3 | 1 | 55 | Bob |
| 4 | 2 | 55 | Smith |
-------------------------------------
Предположим, что таблицы attribute
и value
уже определены.Как вставить данные из таблицы one
в две целевые таблицы.Одна большая проблема для меня - как правильно установить отношения (attribute.id
=> value.attribute_id
).