创建Mysql 5.0问题的表语句

时间:2014-03-29 07:14:00

标签: mysql

我有一些与以下创建查询相关的问题:

CREATE TABLE  `mytbl` (
  `userID` varchar(100) character set latin1 collate latin1_bin NOT NULL default '',
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
  1. 什么字符集latin1整理latin1_bin NOT NULL默认'' 是什么意思?
  2. 什么是ROW_FORMAT = DYNAMIC意味着什么?
  3. 使用ENGINE = MyISAM和ENGINE = InnoDB有什么不同?

1 个答案:

答案 0 :(得分:3)

以下是三个问题的答案:

  1. COLLATE设置要使用的字符集。在这种情况下,它只是通常的整理。 NOT NULL表示该字段不能存储NULL值,即它必须包含一些内容。 DEFAULT将字段的默认值设置为空字符串('')。

  2. ROW_FORMAT = DYNAMIC意味着MyISAM存储引擎将尽可能使用动态字段大小。例如。如果您已将字段声明为长度为50的字符串类型。如果特定记录中该字段的数据仅使用25个字符,则数据库中仅使用该空间量。对于静态字段大小,该记录的该字段仍将使用分配的全部空间(50)。

  3. MyISAM& amp;的主要区别InnoDB存储引擎是MyISAM管理非事务性表,而InnoDB提供事务安全表。 MyISAM是默认设置。

  4. 以下是一些技术人员参考:

    存储引擎:http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html MyISAM存储格式(ROW_FORMAT):http://dev.mysql.com/doc/refman/5.0/en/myisam-table-formats.html

    希望这有帮助!