我应该在MySQL中使用哪些类型的数据?

时间:2011-11-25 00:39:27

标签: mysql

我不确定我应该为这些数据使用什么类型(set,integer,time,char,varchar,text,...):

  • IP
  • 个人信息
  • 数据和时间
  • 标题
  • 姓名(或姓氏)
  • 用户代理
  • 论坛答案(或评论)
  • 电子邮件地址
  • 国家
  • 密码
  • 自定义会话Cookie

2 个答案:

答案 0 :(得分:4)

这取决于您的个人品味/贵公司的惯例,但我会使用:

  • IP: CHAR(15)
  • 个人信息: TEXT
  • 日期和时间:DATETIME
  • 标题: VARCHAR(255)
  • 名称(或姓氏): VARCHAR(255)
  • 用户代理: VARCHAR(255)
  • 论坛答案(或评论): TEXT
  • 电子邮件地址: VARCHAR(255)
  • 国家/地区 CHAR(2)
  • 密码: VARCHAR(255)
  • 自定义会话Cookie: VARCHAR(255)

答案 1 :(得分:1)

这是一个有趣的问题,但我会回答IP地址。

您可以在INT UNSIGNED中存储IP地址。

mysql> SELECT INET_ATON('192.168.0.10') AS ipn; 

mysql> SELECT INET_NTOA(3232235530) AS ipa; 

因此,您可以在INT UNSIGNED(4个字节)中存储IP地址,这当然比CHAR(15)更有效,更快。