gpt4 book ai didi

mysql - 消息的多个接收者(数据库字段)

转载 作者:行者123 更新时间:2023-11-29 01:33:02 25 4
gpt4 key购买 nike

我想让用户互相发送消息,现在这是当前模式

CREATE TABLE IF NOT EXISTS `inbox` (
`id` int(11) NOT NULL auto_increment,
`id_usuario` int(11) NOT NULL,
`id_to` int(11) NOT NULL,
`mensaje` varchar(250) collate utf8_spanish_ci NOT NULL,
`texto` text collate utf8_spanish_ci NOT NULL,
`fecha` date NOT NULL,
`visto` int(1) NOT NULL,
`adjunto` int(1) NOT NULL,
`item` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1 ;

对于这个问题,我认为只有相关的:

  • id_usuario - 来自用户(发件人)的唯一 ID
  • id_to - 来自用户(接收者)的唯一 ID
  • id - 唯一的消息 ID

我在想,

如果我将“id_to”类型从整数(只有一个 ID)更改为 varchar,以便:

  • id_usuario - 多个唯一 ID 的逗号与用户(接收者)分隔

    并存储多个接收者,例如(多个 ID):'333、444、555'

我可以:

  • 向每个接收者显示消息?

仍在弄清楚查询,它会是这样的:“select * from inbox where sesionid IN (idto)” ??

  • 显示消息的每个接收者的发件人?仍在弄清楚查询,它会像 "select id_to from inbox where id = '254'"然后通过','爆炸??

或者,

我应该改变我的方案吗?

最佳答案

您可以通过创建另一个表来存储收件人来更好地做到这一点,其中每一行都列出了消息 ID 和收件人 ID。同一消息 ID 的多行代表同一消息的多个收件人。

使用这种结构,您可以使用 JOIN 语句对收件人进行查询。

关于mysql - 消息的多个接收者(数据库字段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5658297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com