MySQL – 是否可以在表中的所有列上使用LIKE?
作者:互联网
我正在尝试创建一个简单的搜索栏,在我的数据库中搜索某些单词.可以在不使用WHERE的情况下使用LIKE属性吗?我希望它搜索所有列的关键字,而不只是一个.目前我有这个:
mysql_query("SELECT * FROM shoutbox WHERE name LIKE '%$search%' ")
显然,只搜索带有搜索输入的名称.我试过这两个:
mysql_query("SELECT * FROM shoutbox LIKE '%$search%' ")
mysql_query("SELECT * FROM shoutbox WHERE * LIKE '%$search%' ")
并没有奏效.这是可能的,还是有另一种方法可以解决这个问题?
解决方法:
您可能还想查看MATCH()函数,例如:
SELECT * FROM shoutbox
WHERE MATCH(`name`, `foo`, `bar`) AGAINST ('$search')
您还可以为此添加布尔模式:
SELECT * FROM shoutbox
WHERE MATCH(`name`, `foo`, `bar`) AGAINST ('$search') IN BOOLEAN MODE
您还可以获取相关性分数并添加FULLTEXT键以加快查询速度.
标签:mysql,where,sql-like 来源: https://codeday.me/bug/20191005/1857207.html