数据库
首页 > 数据库> > MySQL – 是否可以在表中的所有列上使用LIKE?

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