2011-05-08 110 views
1

我需要帮助建立我的MySQL数据库。帮助设置MySQL数据库

我想数据库有一个名为accounts的表。所有用户帐户都将保存在该数据库中。用户账户将有钥匙:

  • 邮箱地址
  • 用户名
  • 密码
  • 上次登录的日期。

如果您能告诉我模式应该是什么样子,我将非常感激。

回答

4
CREATE TABLE `MyDatabase`.`accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`FirstName` VARCHAR(32) NOT NULL , 
`LastName` VARCHAR(32) NOT NULL , 
`Email` VARCHAR(64) NOT NULL , 
`Username` VARCHAR(32) NOT NULL , 
`Password` CHAR(32) NOT NULL , 
`LastLoginDate` DATE NOT NULL 
) 

这假设你使用的是MD5哈希密码(长度为32)。用您的数据库名称替换MyDatabase。

+0

那么你需要为每个用户创建一个新表吗? – 2011-05-08 23:34:15

+1

不可以添加用户,您可以使用MySQL“INSERT INTO”语法。 Like:INSERT INTO accounts(FirstName,LastName,Email,Username,Password,LastLoginDate)VALUES(“John”,“Smith”,“[email protected]”,“jsmith”,“jsmithpasswordhash”,“date”) – Doug 2011-05-08 23:35:19

+0

辉煌, 谢谢。对你来说还有一件事,你能告诉我如何将新创建的表格整理为UTF-8吗? – 2011-05-08 23:39:03

0

我想你的意思是用户帐户会有这些列。当然,他们并不都是候选人的关键。

没有帐号ID?这不是最好的唯一主键吗?

我可以看到你提出的列在用户/客户表中的位置;用户名和密码(当然是加密和腌制的)将在凭证表中。我在账户表中没有任何这些。我有一个外键指向拥有该帐户的用户。