登录
首页 >  数据库 >  MySQL

如何查询用户参与的项目,当用户 ID 存储在逗号分隔的列表中?

时间:2024-11-15 22:09:54 452浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《如何查询用户参与的项目,当用户 ID 存储在逗号分隔的列表中?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

如何查询用户参与的项目,当用户 ID 存储在逗号分隔的列表中?

如何编写一个 in 相关的查询方法?

用户表中包含一个 id 字段,project 表中包含一个 user_id 字段,其中存储着 user 表中的 id。管理员需要基于当前已登录用户的 id,查询其参加的比赛项目列表。

由于 user_id 字段的值可能是一个包含多个 id 的逗号分隔列表,因此直接使用 in 操作符进行查询会失败。

解决方法有两种:

  1. 使用 find_in_set 函数:此函数用于查找一个字符串在一个逗号分隔的列表中出现的第一个位置。例如,要查找 user_id 为 21 的用户参加的项目,可以使用以下查询:
select * from project where find_in_set(21, user_id)
  1. 使用 like 操作符:此操作符用于匹配部分字符串。例如,要查找 user_id 以 21 开头的用户参加的项目,可以使用以下查询:
SELECT * FROM Project WHERE user_id LIKE '21,%' OR user_id LIKE '%,21' OR user_id LIKE '%,21,%' OR user_id = 21

好了,本文到此结束,带大家了解了《如何查询用户参与的项目,当用户 ID 存储在逗号分隔的列表中?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>