存储单个变量(PDO)的多个值

时间:2014-01-06 14:11:40

标签: mysql sql pdo

我有一个存储用户电子邮件的MySQL表:

user_id    |    user_phonenumber
----------------------------
id1        |    555-123456789

我想允许用户存储多个语音,我不想限制用户可以关联的号码数。

构建数据的最佳方法是什么,以及查询在PDO中如何工作?

例如,我应该使用逗号分隔符将它们全部存储在同一个字段中,然后在返回查询时解析输出,还是应该使用另一个表并将每行作为具有公共user_ids的单独数字?然后查询将如何工作(如果可能,请提供示例代码)?

由于

2 个答案:

答案 0 :(得分:1)

通常,RDBMS系统设计用于访问字段/行。当你开始打破数据字段链接/一致性/逻辑时,一切都会变得更加困难。 我的意思是当你开始在一个字段中存储更多数据时。

但是你知道你的系统的未来。可能会发生您不必访问的第一个电话号码,如果您可以将其作为blob处理,那么在单个字段中存储更多值就可以了。

无论如何如果这不是一个家庭作业或类似的短生活任务,那么你应该选择1个电话号码/ 1记录方法。

我的意思是这样的事情可以证明未来:

create table user_phonenumbers(
  id          auto_increment primary key.
  user_id     integer references user(id),
  phonenumber varchar(32)
);

答案 1 :(得分:0)

是的,使用另一个表来存储用户电话号码。 使用内部联接进行查找,这样会很好。