CREATE TABLE `users` (
`ID` int(10) unsigned zerofill NOT NULL auto_increment,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`ID`),
KEY `Username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
是什么
a)ID表中的unsigned,zerofill?
b)KEY Username
(username
)是什么意思?
谢谢
答案 0 :(得分:3)
zerofill - 左侧垫0
例如,对于声明为INT(4)ZEROFILL的列,将值5检索为0005。
unsigned是不小于零的数字
如果为数字列指定ZEROFILL,MySQL会自动将UNSIGNED属性添加到列中。
无符号类型可用于仅允许列中的非负数,或者当您需要更大的列数字
时
详细信息:http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
KEY用户名(用户名)?
是列用户名
上Username
之后的索引名称
详细信息:http://dev.mysql.com/doc/refman/5.0/en/create-table.html
答案 1 :(得分:2)
unsigned =一个无正数/负数,所以你不能得-1,因为“ - ”是一个符号。
zerofill =默认填充零。没必要,因为列已经获得了auto_increment / pk属性
key =索引此列,即使SELECTS更快地搜索此列。
Ta
答案 2 :(得分:0)
这是部分答案。
a)无符号表示该值为正。
b)zerofill表示它的leftpadding为'0'
例如:没有zerofill你有55并且你将拥有00000055
问候。
答案 3 :(得分:0)
Zerofill用于用零填充数字而不是空格。在这种情况下,由于int(10),数字1337将填充6个零并显示为0000001337。由于zerofill会自动选择无符号,因此不需要指定unsigned,请参阅http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
KEY foo(bar)在条形列上创建索引。索引的名称是foo。