我有一个存储用户电子邮件的MySQL表:
user_id | user_phonenumber
----------------------------
id1 | 555-123456789
我想允许用户存储多个语音,我不想限制用户可以关联的号码数。
构建数据的最佳方法是什么,以及查询在PDO中如何工作?
例如,我应该使用逗号分隔符将它们全部存储在同一个字段中,然后在返回查询时解析输出,还是应该使用另一个表并将每行作为具有公共user_ids的单独数字?然后查询将如何工作(如果可能,请提供示例代码)?
由于
答案 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)
是的,使用另一个表来存储用户电话号码。 使用内部联接进行查找,这样会很好。