我是php和mysql的初学者,我想开发一个多语言网站。在我的数据库中,我有用户表,用于存储用户信息,如id,password,access_type,language,...
我会使用char(2)
类型,但现在我认为它无法存储所有语言。我应该用什么类型的语言领域?
我在这里写下我的其他字段类型,我很乐意知道你对它们的看法!
对于用户电子邮件id
,我使用varchar(255)
对于password
,我使用varchar(255)
并保存password_hash方法返回的哈希密码
对于access_type
,我使用char(2)
。我为超级用户使用su
,为业余用户使用au
对于名字,我使用varchar(32)
对于姓氏,我使用varchar(32)
对不起我的英语,因为我的语言不是英语!!
答案 0 :(得分:1)
根据你的要求,你可以使用2到4之间的任何东西 在您正在使用的其他表中创建外键实例 有关语言的详细信息。对于外键概念你 可以参观 这里:http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
枚举也很方便。
答案 1 :(得分:0)
如果我想确保只有可接受的值是唯一的选择,我会使用枚举。我要做的另一个改变是id列。我会将其更改为自动增量ID并将电子邮件字段设置为电子邮件。您仍然可以通过该方式对用户进行身份验证,但是当您需要运行编辑,删除等操作时...您可以使用用户" id"这比查看电子邮件更快。性能取决于数据库中的记录数量。如果我们说几千条记录,我就不会太担心它,但如果记录很多,你可能需要进行更多优化。