MySQL中的一对多关系

时间:2013-08-02 14:51:13

标签: mysql relational-database

我需要在MySQL中创建一个表,用于用户之间的私人消息传递。当涉及到多个收件人时,我遇到了问题:我必须为每个收件人创建一条记录?例如:

mail_uid = 1 | sender_uid = 6891 |  recipient_uid = 5448 |  text = Lorem ipsum

mail_uid = 2 | sender_uid = 6891 |  recipient_uid = 9128 |  text = Lorem ipsum

是否有办法在一个字段中填写所有ID?

mail_uid = 1 | sender_uid = 6891 |  recipient_uid = 5448, 9128 |  text = Lorem ipsum

然后拆分该字段的内容?

提前谢谢

2 个答案:

答案 0 :(得分:1)

你还需要一张桌子。

类似

person
---------
person_id
name
etc.

message
------------
message_id
text

person_message
---------------
sender_id
recipient_id
message_id

答案 1 :(得分:0)

您可以将所有值放入一个字段,但不应该。您可以为每个收件人创建记录,或者为了减少重复,可以创建单独的表。您的邮件项目表将是mail_uid,sender_uid和text,您的mail_received(或其他)表格将是mail_uid和recipient_uid,每个收件人都有一条记录。