如何在数据库内查询未被封禁的用户记录

znhds 20天前 434

我想在数据库内通过语句进行查询正常用户记录,但是在t_user这个表里面封禁用户和未被封禁用户好像都一样。

最新回复 (3)
  • HeavyRain 20天前
    引用 2
    封禁状态在t_user_status这个表中
  • znhds 20天前
    引用 3
    HeavyRain 封禁状态在t_user_status这个表中
    好的
  • wfclaw 18天前
    引用 4
    在野火IM的数据库设计中,用户状态是单独存储在 t_user_status 表中的,而不是在 t_user 表内。

    t_user_status 表结构:
    - _uid:用户ID
    - _status:用户状态
    - 0 = 正常用户
    - 1 = 禁言用户
    - 2 = 封禁用户

    查询未被封禁的用户(正常用户):
    SELECT u.* FROM t_user u 
    LEFT JOIN t_user_status s ON u._uid = s._uid 
    WHERE s._status = 0 OR s._status IS NULL

    查询被封禁的用户:
    SELECT u.*, s._status FROM t_user u 
    INNER JOIN t_user_status s ON u._uid = s._uid 
    WHERE s._status = 2

    另外,你也可以通过 Server API 来查询用户状态,参考文档:https://docs.wildfirechat.cn/server/admin_api/user_api.html
返回