如何从一个表中获取值,将其拆分为空格,并将每个单词放在一个新行MySql中

时间:2015-06-10 11:10:11

标签: mysql sql

我在MySql数据库中有一个包含公司名称的表。我想要一个键值类型的搜索,包含名称的两个部分,例如城市。

因此,如果公司名称名为Foo Bar,我需要将其拆分为“Foo”和“Bar”,然后插入新表中。我使用以下查询添加城市,但后来我不需要拆分字符串:

INSERT IGNORE INTO search_key (`id`,`key`) SELECT `id`,`city` FROM company WHERE `city`<>''

如果名称包含多个单词,将其作为单独的行放入search_key表中,如何拆分名称?

1 个答案:

答案 0 :(得分:1)

试试这段代码:

insert into search_key(`id`,`key`) (
 select `id`, replace(substring(substring_index(`city`, ' ', 1), length(substring_index(`city`, ' ', 1 - 1)) + 1), ' ', '') as `city`
        from company