我有下表:
我有下表:
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
在某些情况下,受让人姓名字段中有两个受让人姓名,并且他们之间用a分隔;
有没有办法让MySQL通过并在它发生时将它们分开,然后重复新记录中其他字段的所有数据?
答案 0 :(得分:0)
如果您最多可以拥有两个受让人名称,我会使用INSERT查询,然后使用像这样使用SUBSTRING_INDEX的UPDATE查询:
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 '%;%';
请参阅小提琴here。