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

`id`,`firstname`,`lastname`

有一些行,如:
'1','bob','marley'
'2','mary','jane'

我有一个类似这样的搜索查询(其中 'bob marley' 是我的搜索词):
select * where
(`firstname` like 'bob marley%')
or
(`lastname` like 'bob marley%')

但这只会在我搜索“bob”或“marley”而不是“bob marley”时获得成功
如何连接两列以匹配搜索词?

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

最佳答案

使用 MySQL 的 CONCAT 函数:

SELECT * FROM tablename WHERE CONCAT(firstname, ' ', lastname) LIKE 'bob marley%'

关于php - 在mysql中将两列合并为一,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5335723/

10-13 06:25