我如何获得用户聊天信息

时间:2019-04-04 05:40:20

标签: mysql database database-design

我有2个表,其中一个是“聊天”,仅在列ID上有 我的第二个是 CREATE TABLE聊天用户( id int(10) UNSIGNED NOT NULL, user_id varchar(45) NOT NULL, 聊天ID int(11) DEFAULT NULL, created_at timestamp NULL DEFAULT NULL, updated_at timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我要做的是在聊天表中创建一行,然后在两个用户ID和一个聊天ID的聊天用户中存储2个子项

现在我有2个用户ID,我怎么到达那里,聊天ID?

2 个答案:

答案 0 :(得分:0)

此答案假设您已经知道两个用户的ID,并且您想查找两个用户都参与了的所有聊天。一种方法是按chat_user汇总chat_id表,然后断言给定的聊天涉及两个用户:

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

答案 1 :(得分:0)

您应该

SELECT DISCTINCT(chat_id) from CHAT_USERS where user_id IN (someuser_id1, someuser_id2)

获取2个用户的chat_id。