在语言字段的mysql中最好的类型?

时间:2014-08-16 17:49:59

标签: php mysql

我是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)

对不起我的英语,因为我的语言不是英语!!

2 个答案:

答案 0 :(得分:1)

  

根据你的要求,你可以使用2到4之间的任何东西   在您正在使用的其他表中创建外键实例   有关语言的详细信息。对于外键概念你   可以参观   这里:http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

枚举也很方便。

答案 1 :(得分:0)

如果我想确保只有可接受的值是唯一的选择,我会使用枚举。我要做的另一个改变是id列。我会将其更改为自动增量ID并将电子邮件字段设置为电子邮件。您仍然可以通过该方式对用户进行身份验证,但是当您需要运行编辑,删除等操作时...您可以使用用户" id"这比查看电子邮件更快。性能取决于数据库中的记录数量。如果我们说几千条记录,我就不会太担心它,但如果记录很多,你可能需要进行更多优化。