Mysql SQL将一列中的分隔数据解析为另两列

Mysql SQL将一列中的分隔数据解析为另两列,mysql,sql,Mysql,Sql,我在MySQL中已有一个表,其中包含数据同步数据,结果如下所示: id client notes id1 id2 ------- --------- ------------ ---------- ---------- 1 a cat dog|3|90 2 b 3 c |80|12 4 d dog only 5

我在MySQL中已有一个表,其中包含数据同步数据,结果如下所示:

id      client      notes           id1         id2
------- ---------   ------------    ----------  ----------
1       a           cat dog|3|90
2       b
3       c           |80|12
4       d           dog only
5       e
6       f           |34|40
id      client      notes           id1         id2
------- ---------   ------------    ----------  ----------
1       a           cat dog|3|90    3           90
2       b
3       c           |80|12          80          12  
4       d           dog only
5       e
6       f           |34|40          34          40
我希望它看起来像这样:

id      client      notes           id1         id2
------- ---------   ------------    ----------  ----------
1       a           cat dog|3|90
2       b
3       c           |80|12
4       d           dog only
5       e
6       f           |34|40
id      client      notes           id1         id2
------- ---------   ------------    ----------  ----------
1       a           cat dog|3|90    3           90
2       b
3       c           |80|12          80          12  
4       d           dog only
5       e
6       f           |34|40          34          40

实现这一点的SQL逻辑是什么?分隔符将始终是两个管道。也就是说,我需要一条语句,我可以应用于phpMyAdmin中的表,以清理同步并正确分离id。

您可以使用
substring\u index()


不要在列中存储分隔数据!非常感谢。这个查询非常有效。作为一个update语句,我遇到了困难:update
table
SET
id1
=子字符串索引(
notes
,“|”,-1),
id2
=子字符串索引(
notes
,“|”,2),“|”,1)这将生成“无法添加或更新子行:外键约束失败”。我误解了什么?@CraigTucker。显然,您有某种外键关系,不喜欢在列中插入值;一切都很顺利。谢谢。@CraigTucker:aa现在,你不再有数据库了,你有了文件。