Php MySQL从具有集合字段的表迁移数据

Php MySQL从具有集合字段的表迁移数据,php,mysql,Php,Mysql,我有一个包含两种语言的set列的表,这个表上的另一列包含一个order 是否可以迁移我的表并使用MySQL查询在新表中为每个集合项创建记录 直接迁移记录适用于具有集合列但没有语言组合的记录。但是,如果一个记录包含一组语言,我只剩下一个记录,其中一列是空的。我希望在我的新表中插入2条新记录 集合中的每种语言对应一个 INSERT INTO newtable ( newtable.oldtable_id, newtable.language, newtable.order

我有一个包含两种语言的set列的表,这个表上的另一列包含一个order

是否可以迁移我的表并使用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;

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

创建一个包含一个字段的帮助表,该字段列出set列中可以使用的所有语言。该表可以是迁移后删除的临时表。然后创建一个
插入。。。选择…
语句,在该语句中,使用MySQL函数将源表连接到helper表上:

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;

您的问题我不清楚,请尝试添加示例数据。。