表示MySQL数据库中动态添加的表单字段

时间:2013-01-26 13:22:46

标签: mysql database database-design

我很难在数据库中表示以下情况:

用户可以根据客户要求声明多个地址(如家庭,办公室,邮件等)。

我有一个名为UserID的自动递增主键,代表一个用户帐户。我一直在考虑使用BelongsToUserID列来表示每个用户的表单字段,如下所示:

Desired database structure

我不能这样做,因为每行只能被UserID行占用。 有关如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:1)

您需要一个包含地址的单独表格。也许是这样的事情:

| id(主键)| type(enum home / work / etc.)| userID |地址|

答案 1 :(得分:0)

你可以用两种方式做到这一点

第一个很简单但不建议您不要制作任何主键并使用复合键对作为候选键并从中选择主键。因为表缺少主键,所以不建议

第二种方法是好的,我也使用它来制作一个主表并将其用作那里的关系表,并使用另一个表来实际存储数据。

在主表中

你可以有id,userid,address_bit,在第二个表中你可以有id,address_bit,address。

如果你找到了解决方案,请告诉我任何其他解决方案。它可能有助于我学习新的:)