MySQL中的INT(11)存儲最大數是一個經常被問及的問題。在MySQL中,INT(11)并不是表示它可以存儲的最大整數為11位數字。實際上,它可以存儲232-1 = 2,147,483,647這么多的正整數。
CREATE TABLE test ( id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT(11) );
在MySQL中,INT類型的存儲范圍是從-2147483648到2147483647,如果你想存儲更大的數字,可以考慮使用BIGINT類型,它的存儲范圍是從-9223372036854775808到9223372036854775807。
CREATE TABLE test ( id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age BIGINT(20) );
當你聲明一個表的列時,INT(11)只是一個用來限制顯示寬度的參數,并不會影響數據存儲的范圍。如果你需要存儲更大的數字,請選擇合適的數據類型。這樣可以確保你的數據不會被截斷,也不會由于數據超過存儲范圍而報錯。