如何有效地存储用户的信息

时间:2012-01-12 22:30:12

标签: mysql sql

我想存储有关用户的详细信息。每个用户都有用户名,电子邮件,密码,地址,城市,国家和其他一些字段。 什么是最好的存储方式? 我应该将所有这些存储在一个表中吗?

1 个答案:

答案 0 :(得分:0)

将相关信息存储在一个表中。例如,如果允许您的用户拥有一个地址,则可以使用用户的基本详细信息(用户名,电子邮件,密码)将地址组件安全地存储在表中。还要考虑每个用户存储多个地址或电子邮件的可能性。在这种情况下,您将在userid字段的user表中为具有外键的地址创建一个单独的表。

示例:

users

userid INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(64) NOT NULL,
password VARCHAR(2048) NOT NULL

user_addresses,允许每个用户使用多个地址......

addressid INT PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
city VARCHAR(2048) NULL,
streetno VARCHAR(2048) NULL,
FOREIGN KEY (userid) REFERENCES users (userid)