我有一些与以下创建查询相关的问题:
CREATE TABLE `mytbl` (
`userID` varchar(100) character set latin1 collate latin1_bin NOT NULL default '',
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
答案 0 :(得分:3)
以下是三个问题的答案:
COLLATE设置要使用的字符集。在这种情况下,它只是通常的整理。 NOT NULL表示该字段不能存储NULL值,即它必须包含一些内容。 DEFAULT将字段的默认值设置为空字符串('')。
ROW_FORMAT = DYNAMIC意味着MyISAM存储引擎将尽可能使用动态字段大小。例如。如果您已将字段声明为长度为50的字符串类型。如果特定记录中该字段的数据仅使用25个字符,则数据库中仅使用该空间量。对于静态字段大小,该记录的该字段仍将使用分配的全部空间(50)。
MyISAM& amp;的主要区别InnoDB存储引擎是MyISAM管理非事务性表,而InnoDB提供事务安全表。 MyISAM是默认设置。
以下是一些技术人员参考:
存储引擎: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
希望这有帮助!