-1

我有下表:

我有下表:

Patent      AssigneeName                        AssigneeUnparsed
-------     --------------                      ---------------
D452605     Louis Vuitton Malletier, S.A.       Paris_None_FR
D452606     Nike, Inc.                          Beaverton_OR_US
D452607     Salomon S.A.; First Technology      Metz-Tessy_None_FR

在某些情况下,受让人名称字段中有两个受让人名称,它们用 ; 分隔。

有没有办法让 MySQL 在发生时将它们分开,然后重复新记录中其他字段的所有数据?

4

1 回答 1

0

如果您最多可以有两个受让人姓名,我会使用一个 INSERT 查询,然后是一个 UPDATE 查询,它使用SUBSTRING_INDEX,如下所示:

INSERT INTO yourtable
SELECT Patent, TRIM(SUBSTRING_INDEX(AssigneeName, ';', -1)), AssigneeUnparsed
FROM yourtable
WHERE AssigneeName LIKE '%;%';

UPDATE yourtable
SET AssigneeName = TRIM(SUBSTRING_INDEX(AssigneeName, ';', -1))
WHERE AssigneeName LIKE '%;%';

在此处查看小提琴。

于 2013-04-10T14:04:31.033 回答