我在MySql数据库中有一个包含公司名称的表。我想要一个键值类型的搜索,包含名称的两个部分,例如城市。
因此,如果公司名称名为Foo Bar,我需要将其拆分为“Foo”和“Bar”,然后插入新表中。我使用以下查询添加城市,但后来我不需要拆分字符串:
INSERT IGNORE INTO search_key (`id`,`key`) SELECT `id`,`city` FROM company WHERE `city`<>''
如果名称包含多个单词,将其作为单独的行放入search_key表中,如何拆分名称?
答案 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