MySQL表结构

时间:2010-10-01 16:11:23

标签: mysql database database-design

请问我对这个MySQL表结构有什么看法吗? varchar字段的数量是不是很糟糕?还有更好的选择吗?

这类数据应该是不言自明的。

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `active` bit(1) NOT NULL DEFAULT b'1',
  `email` varchar(64) NOT NULL,
  `password` char(128) NOT NULL,
  `forename` varchar(32) NOT NULL,
  `surname` varchar(32) NOT NULL,
  `ip` int(10) unsigned NOT NULL,
  `address` varchar(32) NOT NULL,
  `address_2` varchar(32) DEFAULT NULL,
  `city` varchar(32) NOT NULL,
  `county` varchar(32) NOT NULL,
  `postcode` varchar(16) NOT NULL,
  `country` char(2) NOT NULL,
  `country_other` varchar(16) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `email` (`email`),
  KEY `password` (`password`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试在地址字段中使用varchar中的text,也可以尝试使用电子邮件。我已经在varchar字段中读到了有关符号(@)的一些问题。使用text,就我所知,您无需定义大小。