gpt4 book ai didi

mysql - 附加 key : value data onto MySQL table

转载 作者:行者123 更新时间:2023-11-28 23:43:36 25 4
gpt4 key购买 nike

请原谅我的无知,但是有没有一种简洁的方法可以自动将元值(通过键设置为临时列)从一个表连接或附加到另一个表?

表格项目
编号(整数)标题(varchar 255)
内容(长文)

表元
ID(整数)
item_id (整数)
键(varchar 255)
值(长文本)

理想情况下,我希望能够执行类似这样的通用查询


从项目中选择 *

输出为


item.ID item.title item.content metakey1 metakey2
1 Listing Title 房源内容 meta_val1 meta_val2
2 另一个标题列表内容 meta_val1 meta_val2

最佳答案

您可以将数据存储为 XML 格式并使用 MySQL XML Functions提取它们。

例子:

create table items (id int, title varchar(100), content longtext);
create table meta (id int, item_id int, metadata varchar(100));
insert into items values (1, 'test item1', 'some content');
insert into meta values (1, 1, '<key1>value1</key1><key2>value2</key2>');

select
i.id, i.title, i.content,
extractvalue(m.metadata, '//key1[$1]') as key1,
extractvalue(m.metadata, '//key2[$1]') as key2
from items i
inner join meta m on i.id = m.item_id;

+------+------------+--------------+--------+--------+
| id | title | content | key1 | key2 |
+------+------------+--------------+--------+--------+
| 1 | test item1 | some content | value1 | value2 |
+------+------------+--------------+--------+--------+

您可以创建一个名为 items_with_metadata 的 View ,然后调用 select * from items_with_metadata 以获得您想要的输出类型。

关于mysql - 附加 key : value data onto MySQL table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33966548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com