按用户获取未读消息

Ken*_*zie 0 mysql sql database

我想维护一个全局消息列表,这些消息将显示给Web应用程序的所有用户.我希望每个用户能够将这些消息标记为单独阅读.我创建了2个表; messages (id, body)messages_read (user_id, message_id).

你能提供一个sql语句来为单个用户选择未读消息吗?或者你有什么建议可以更好地处理这个问题吗?

谢谢!

cyn*_*man 5

好吧,你可以用

SELECT id FROM messages m WHERE m.id NOT IN(
    SELECT message_id FROM messages_read WHERE user_id = ?)
Run Code Online (Sandbox Code Playgroud)

哪里?由您的应用传入.