我可以得到一些关于这个 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;
谢谢!
最佳答案
您可以尝试在地址字段(也可能是电子邮件地址字段)中使用 varchar 中的 text
。我读过一些关于 varchar 字段中的符号 (@) 的问题。据我所知,使用 text
您不必定义大小。
关于MySQL 表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3840999/