我有 2 个表,其中一个是“Chat”,只有列 id
我有第二个是
CREATE TABLE
聊天用户 (
ID int(10) UNSIGNED NOT NULL,
用户 ID varchar(45) NOT NULL,
聊天ID int(11) DEFAULT NULL,
创建于 timestamp NULL DEFAULT NULL,
更新于timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我所做的是在聊天表中创建一行,然后在聊天用户中存储 2 个 roes,其中包含两个用户 ID 和一个聊天 ID
现在我如何拥有 2 个用户 ID,如何到达那里聊天 ID?
最佳答案
此答案假设您已经知道这两个用户的 ID,并且您想要查找这两个用户参与的所有聊天。一种方法是按 chat_id
聚合 chat_user
表,然后断言给定的聊天涉及两个用户:
SELECT chat_id
FROM chat_user
GROUP BY chat_id
HAVING MIN(user_id) = <user_id_1> AND MAX(user_id) = <user_id_2>;
-- |___________________________|__ replace with actual values
关于mysql - 如何获取用户聊天信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55508620/