id | name | permission
1 | John | 1,4,3
2 | mike | 7,4,3
3 | sky | 3,2,1
这是我的数据库
现在我已经获取了条件
的选择查询 e.g。 从friend
中选择*,其中权限=' 4'
但我无法获取任何数据,所以该怎么办?
请帮忙
答案 0 :(得分:2)
从朋友中选择*,其中FIND_IN_SET(' 4',权限);
答案 1 :(得分:2)
看起来你有多个权限存储在一个字符串中。
对您而言,查询如下:
select * from friend where permission='4'
这意味着任何包含4的东西。 对于mysql,它看到:
select * from friend where permission= ONLY '4'
// Meaning the permissions column can ONLY CONTAIN 4.
// Also, ONLY is meant as a visual, don't use it in queries.
尝试:
find_in_set('4',permission) <> 0
// This means It needs to find number 4 and can't return 0 results.
查看以下内容以获取更多信息:
MySQL query finding values in a comma separated string
http://www.w3resource.com/mysql/string-functions/mysql-find_in_set-function.php
答案 2 :(得分:0)
可以通过以下查询来完成:
select * from friend where permission like '%4%'