在mysql中将两列合并为一列

Mis*_*age 3 php mysql

假设我有一个包含列的表:

`id`,`firstname`,`lastname`
Run Code Online (Sandbox Code Playgroud)

有些行如:

'1','bob','marley'
'2','mary','jane'
Run Code Online (Sandbox Code Playgroud)

我有一个像这样的搜索查询(其中'bob marley'是我的搜索词):

select * where
(`firstname` like 'bob marley%')
or
(`lastname` like 'bob marley%')
Run Code Online (Sandbox Code Playgroud)

但是,如果我搜索'bob'或'marley',而不是'bob marley',那么这只会受到影响我如何连接两列以匹配搜索词?

编辑:该表将有数十万行,因此性能至关重要.concat()是否足够高效,可以在延迟按键调用的ajax搜索中工作?或者我应该重新设计我的表格或添加全文列进行搜索?

Wim*_*Wim 10

使用MySQL的CONCAT功能:

SELECT * FROM tablename WHERE CONCAT(firstname, ' ', lastname) LIKE 'bob marley%'
Run Code Online (Sandbox Code Playgroud)