簡單的問題。我嘗試過在Google上搜索,經過大約6次搜索後,我認爲這會更快。什麼是SQL Int(N)的大小?
SQL中的整數有多大?
// table creation statement.
intcolumn INT(N) NOT NULL,
// more table creation statement.
INT(N)
元素有多大?它的範圍是什麼?是2^N還是N Bytes? (2^8N)?甚至還有一些我不知道的東西?
簡單的問題。我嘗試過在Google上搜索,經過大約6次搜索後,我認爲這會更快。什麼是SQL Int(N)的大小?
SQL中的整數有多大?
// table creation statement.
intcolumn INT(N) NOT NULL,
// more table creation statement.
INT(N)
元素有多大?它的範圍是什麼?是2^N還是N Bytes? (2^8N)?甚至還有一些我不知道的東西?
這取決於數據庫。 MySQL有一個extension其中INT(N)表示一個INT,顯示寬度爲4位十進制數字。這些信息保存在元數據中。 INT本身仍然是4個字節,並且值10000和更大的值可以被存儲(並且可能被顯示,但這取決於應用程序如何使用結果集)。
這完全取決於您正在使用的數據庫引擎。但我相信大多數引擎認爲INT/INTEGER類型爲32位。大多數引擎會讓你指定簽名。
實際的N只指定位數。所以一個無符號的INT(3)的範圍是0-999。
該數字不表示整數的長度。大整數仍然可以存儲在「int(3)」列中 – Luke 2014-09-24 11:01:19
嘿,謝謝你的朋友!這是我的問題:) – Michael 2010-11-11 04:05:14
注意這與VARCHAR(n)類型非常不同,其中n在這種情況下是允許的最大存儲字符。請參閱{http://stackoverflow.com/questions/5634104/what-is-the-size-of-column-of-int11-in-mysql-in-bytes,http://stackoverflow.com/a/1262249/ 1357094} – cellepo 2016-10-03 19:51:51