数据库表
Project
id | name | user_id |
---|---|---|
1 | 跳远 | 1,2,3,4,6,8,12.... |
2 | 跳绳 | 21,43,13,14,26,38,92.... |
字段user_id保存着用户表user中的id
现在做了一个管理系统,用户登录进来的时候系统会保存该用户的id
然后去查询该用户参加比赛的项目列表,如果参加了跳绳项目,就显示出跳绳选项。
第一个想到的就是先循环出project这个表,然后看看这个用户id是否在这行user_id字段中?
select * from project where $this->auth->id in user_id......
结果发现不能这样写[$this->auth->id这个位置应该是user_id,前后颠倒],求解决方法
如果不改变现状的话,有两种方法使用
1.FIND_IN_SET:例如查user_id为21的话,find_in_set(21,user_id)
2.Like:例如查user_id为21的话,user_id like '21,%' or user_id like '%,21' or user_id like '%,21,%' or user_id=21