2014-02-25 95 views

回答

5

BIGINT UNSIGNED是一個八字節的無符號整數。

BIGINT(20)中的20意味着什麼都沒有。這是顯示寬度的提示,它與存儲無關。實際上,它隻影響ZEROFILL選項:

CREATE TABLE foo (bar INT(20) ZEROFILL); 
INSERT INTO foo (bar) VALUES (1234); 
SELECT bar from foo; 

+----------------------+ 
| bar     | 
+----------------------+ 
| 000000000000000| 
+----------------------+ 

這混亂的常見原因爲MySQL用戶看到BIGINT(20),並假設它是一個大小的限制,一些類似於CHAR(20)。