請問我對這個MySQL表結構有什麼意見嗎?
varchar
字段的數量不好?有更好的選擇嗎?MySQL表結構
數據的種類應該是不言自明的。
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;
謝謝!
人們有可能有多個地址嗎?您可能想要考慮更正常化一點,並將地址分成單獨的表格。就varchar字段的數量而言,它們沒有任何問題。我不確定你的IP字段爲什麼是Int。可能想使它成爲varchar(15) – Sage 2010-10-01 16:21:47
@Sage - 我打算使用INET_ATON()函數存儲IP,因此是無符號整數。不,不可能有多個地址。 – chigley 2010-10-01 16:24:06
啊,很酷。我以前沒有看到過這個功能。學到的東西! – Sage 2010-10-01 16:27:00