php - 使用 mysql/php 进行严格搜索

标签 php mysql regex mysqli

我几乎在这上面停留了几个小时,如果有人能提供帮助,我将不胜感激。

我正在对数据进行 mysql 搜索:

Row Id   List Data
1   3,2,7,11
2   1,27
3   2,17,44
4   19,77

我的问题是我想进行严格搜索。

假设我想搜索上面数据中有“7”的行。

如果我这样做:

select id from table where list_data like '%7%'

显然会返回所有 4 行

我只想得到第一行作为我的结果。

我怎样才能做到这一点?

提前致谢:)

最佳答案

使用FIND_IN_SET()

select id from table 
where find_in_set(7, list_data) > 0

顺便说一句,您应该规范化数据以避免将来出现此类问题。请始终在一列中仅存储 1 个值,而不是多个。

关于php - 使用 mysql/php 进行严格搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18612675/

相关文章:

javascript - 使用 Angular 路由从一页获取信息到另一页

php - MySQL 不会在本地主机上加载

php - MySQL 查询帮助 : Getting content from associated table with position

mysql - AWS Aurora DB 合并来自多个 SQL 语句的数据

python - 在文件名中创建一个以空格分隔的选定字符列表

php - 在MYSQL中如何匹配所有以数字或相关符号开头的元素?

php - 如何从n个表中只获取n条记录

mysql - 在 MYSQL 中创建用于更改多个字符的函数

PHP 搜索功能不显示结果

javascript - JavaScript 中的正则表达式用于搜索