2010-12-30 23 views
0
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)符号なし、zerofill IDテーブル? b)KEYとはどういう意味ですかUsernameusername)?このMySQLコードを理解するのに助けが必要です

はあなた

答えて

2

符号なし=いいえ正/負の数値なので、 " - "は符号であるため、-1をとることはできません。

zerofill =デフォルトでゼロで埋めてください。列がすでにauto_increment/pk属性を持っているので不要です。

key =この列をインデックス化します。つまり、この列の検索を高速に選択します。

ta

+0

いいえ正/負の数 - うんうん、それは虚数という意味ですか?? –

3

ZEROFILL感謝 - INT(4)ZEROFILLとして宣言された列に対して、例えば0

と左パッドを、5の値は0005.

として検索されます

符号なしのゼロ

未満ではない数であります

数値カラムにZEROFILLを指定すると、MySQLは自動的にUNSIGNED属性をカラムに追加します。

あなたは列の大きな上位の数値範囲を必要とするとき、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

0

は、部分的な答えです。

a)unsignedは値が正であることを意味します。 00000055

よろしくを持っていますあなたは55を持っているZEROFILLせずに、あなたと:

B)ZEROFILLは、それが '0'

元でleftpaddingていることを意味します。

0

Zerofillは、スペースではなく0で数字を埋め込むために使用されます。この場合、番号1337には6つの0が埋め込まれ、int(10)のために0000001337と表示されます。 http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

KEY foo(bar)は、バーの列にインデックスを作成するため、符号なしを指定する必要はありません。インデックスの名前はfooです。

関連する問題