MySQL 表结构

标签 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;

谢谢!

最佳答案

您可以尝试在地址字段(也可能是电子邮件地址字段)中使用 varchar 中的 text 。我读过一些关于 varchar 字段中的符号 (@) 的问题。据我所知,使用 text 您不必定义大小。

关于MySQL 表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3840999/

相关文章:

mysql - SQL - 仅 if 语句

mysql - 在 talnet 软件 PuTTy 中创建表的正确语法是什么

mysql - 在 Java Web 应用程序上出现错误 [无法为 JSP 编译类] 的根本原因

mysql - 尝试设计一个在线学生练习数据库

elasticsearch - 图形,文本和分析组合搜索

PHP OOP 和 MySQL

php - echo 不显示,或添加ID,但在数据库中显示

mysql - 你能在 MySQL 上练习 MSSQL 查询吗?

database - Postgres 将 Heroku 生产数据库复制到本地开发数据库

mysql - phpMyAdmin 主键指示器在文本上显示为灰色