MYSQL列的長度,NUMERIC_PRECISION和COLUMN_TYPE


在MYSQL的information_schema.COLUMNS表中,有NUMERIC_PRECISION和COLUMN_TYPE兩列

對於int類型的列,NUMERIC_PRECISION顯示的始終是10,而COLUMN_TYPE列中int(xxx)內的長度缺不一定。

兩者有什么區別呢?在網上找了半天,發現了這篇文章(地址)。

NUMERIC_PRECISION才是這一列(如int)能存儲數據的實際長度,
而COLUMN_TYPE中的比如int(11),這里11是指該字段的顯示長度,int最長只能有10位,這是類型定死的,在10位前可以有一個符號,所以默認顯示位數是11位。

如果我們在定義表結構,創建了一列為int(3)類型,那么實際上該列還是要占用4字節存儲,最多存儲10位數字,只是這一列默認顯示的時候,會以3格寬度顯示罷了。

另:字符串類型的數據沒有這個問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM