在我的网站上,有一个区域,用户可以在其中编写消息并向任意数量的其他用户发送消息。该消息仅对消息作者指定的用户可见。所以我制作了 2 个表:Message_Author
并message_Receivers
给它们一个公共列messageID
。对于发布的每条消息,都会插入一个条目Message_ Author
$db->query("
INSERT INTO Message_Author
VALUES('$message_id',$_SESSION[email],$message)
");
并进入 Message_Receivers:
foreach($receiversUserNameArray as &$value){
$db->query("
INSERT INTO Message_Receivers
VALUES('$message_id',$value)
");
}
因此,现在消息作者指定的每个用户都可以查看具有该消息 ID 的消息。问题是如果用户想要“发送给所有”联系人。这可能是数百个用户名,每个用户名都有自己的行占用大量数据库空间。那么有没有更好的方法来链接这两个表之间的 messageID 而不为每个接收者创建一行?