我有一张这种垂直结构的table。数据来自一家外部公司,所以我必须处理它。
+----+-----------+------+--------+
| id | status_id | key | value |
+----+-----------+------+--------+
| 1 | 100 | key1 | value1 |
| 2 | 100 | key2 | value2 |
| 3 | 100 | key3 | value3 |
| 4 | 200 | key1 | value1 |
| 5 | 200 | key2 | value2 |
| 6 | 200 | key3 | value3 |
+----+-----------+------+--------+
现在我想从这个数据中创建一个水平表,插入后有一个触发器,这样我就变成了这个结构。。
+-----------+--------+--------+--------+
| status_id | key1 | key2 | key3 |
+-----------+--------+--------+--------+
| 100 | value1 | value2 | value3 |
| 200 | value1 | value2 | value3 |
+-----------+--------+--------+--------+
状态id变得唯一,所以我尝试了 INSERT
与 ON DUPLICATE KEY
但我不知道我该怎么写,从键的值成为插入的字段名。
很多问候凯文
1条答案
按热度按时间fhity93d1#
你查过透视表了吗?它可能对你有帮助。
有用链接:http://www.artfulsoftware.com/infotree/qrytip.php?id=78
其他有类似问题的线程:mysql pivot表