如何从mysql表中选择消息

  • 本文关键字:选择 消息 mysql mysql
  • 更新时间 :
  • 英文 :


我的mysql表from_idto_id中有两个字段

SELECT * FROM `messages` 
WHERE (`from_id` = $user1_id AND `to_id` = $user2_id) OR 
(`from_id` = $user2_id AND `to_id` = $user1_id)

但这有点奇怪,有没有办法让一个查询更皇家?

就像我想要我发送的所有信息和那些发送给我的

您可以使用UNION ALL:

SELECT * 
FROM `messages` 
WHERE `from_id` = $user1_id AND `to_id` = $user2_id
UNION ALL
SELECT *
FROM `messages`
WHERE `from_id` = $user2_id AND `to_id` = $user1_id;

或者:

SELECT * 
FROM messages
WHERE (`from_id`, `to_id`) IN (($user1_id,$user2_id),($user2_id,$user1_id))

最新更新