gpt4 book ai didi

php - MySQL从具有设置字段的表中迁移数据

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

我有一个表,其中包含 set 列,其中包含 2 种语言,该表上的另一列包含一个订单。

是否可以迁移我的表并使用 MySQL 查询为每个设置项在新表中创建一条记录?

直接迁移记录适用于具有设置列但没有语言组合的记录。但是,如果一条记录包含一组语言,我将留下一条记录,其中包含一个空的语言列。我希望将 2 条新记录插入到我的新表中。

集合中的每种语言一个。

INSERT INTO newtable (
newtable.oldtable_id,
newtable.language,
newtable.order
)
SELECT oldtable.id, oldtable.languages, oldtable.order
FROM oldtable
WHERE oldtable.order IS NOT NULL;

我怀疑这是可能的,但我仍然想知道是否有人对此有解决方法,因为我需要以某种方式迁移数据。

最佳答案

创建一个包含一个字段的帮助表,该字段列出了可以在集合列中的所有语言。该表可以是您在迁移后删除的临时表。然后创建一个 insert ... select ... 语句,在该语句中使用 MySQL 的 find_in_set() 将源表连接到辅助表上。功能:

INSERT INTO newtable (
newtable.oldtable_id,
newtable.language,
newtable.order
)
SELECT oldtable.id, helpertable.language, oldtable.order
FROM oldtable inner join helpertable ON find_in_set(helpertable.language, oldtable.languages)>0;

关于php - MySQL从具有设置字段的表中迁移数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38399277/

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