问题
Simple question. I have tried searching on Google and after about 6 searches, I figured it would be faster here.
How big is an int in SQL?
-- table creation statement.
intcolumn INT(N) NOT NULL,
-- more table creation statement.
How big is that INT(N)
element? What's its range? Is it 2^N or is it N Bytes long? (2 ^ 8N)? Or even something else I have no idea about?
回答1:
It depends on the database. MySQL has an extension where INT(N) means an INT with a display width of 4 decimal digits. This information is maintained in the metadata. The INT itself is still 4 bytes, and values 10000 and greater can be stored (and probably displayed, but this depends how the application uses the result set).
回答2:
That depends entirely on the database engine you are using. But I believe most engines consider the INT/INTEGER types to be 32-bit. Most engines will let you specify the signedness.
The actual N only specifies the number of digits. So an unsigned INT(3) has the range of 0-999.
来源:https://stackoverflow.com/questions/4151259/whats-the-size-of-an-sql-intn