資料庫int欄位超限
今天碰到了一個問題,資料庫int欄位超限
錯誤:
我定義的是int(11)
然後存的數字是3999990394,發現存不進去,最開始以為是長度不夠,然後給改成了int(16)
,發現還是報錯。
錯誤提示:
### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column '欄位名' at row 1;
SQL []; Data truncation: Out of range value for column '欄位名' at row 1;
nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column '欄位名' at row 1
嘗試
其實以前我就對int(11)
中int後邊的11不是很明白,建立表的時候說的是長度,所以就理所當然的被我當做是數字的長度,但是我把長度改大之後還是報錯,所以應該還是我沒理解對。然後我再把int(11)
改成bigint(11)
可以儲存成功,然後把bigint(11)
改為bigint(1)
還是可以儲存成功。
原因
其實在資料庫中定義欄位型別的時候,int(x)
中的X真沒必要寫出來,因為X不起任何作用。類似,bigint(x)
也一樣,寫X與不寫應該都是一個效果,其在資料庫中所能儲存的最大值只是與其自己本身表示的欄位長度有關。但是varchar(x)
中的x是有作用的,起到限制字串長度的作用。
總結
類似於int(x)、bigint(x)
中的x其實沒必要寫,或者寫了也沒什麼作用,其儲的最大值只是與其自己本身表示的欄位長度有關。所以把int(x)
改為bigint(x)
,就不會再報錯了。
以上總結如有疑問,歡迎探討、如有錯誤,歡迎指出
相關文章
- java查詢資料庫,int型欄位為null的情況Java資料庫Null
- SqlSugar code first 欄位為列舉型別,預設生成資料庫欄位為bigint如何設定為int型別SqlSugar型別資料庫
- mysql-資料庫欄位date datetimeMySql資料庫
- 資料庫設計——冗餘欄位資料庫
- mysql資料庫新增和修改欄位MySql資料庫
- 資料庫表欄位命名規範資料庫
- 資料庫設計之欄位冗餘資料庫
- 查詢資料庫表及表欄位資料庫
- 序列化,資料庫存多個欄位資料資料庫
- 資料庫中欄位資料型別以及約束資料庫資料型別
- 為什麼資料庫表的int型別欄位對映到實體類中要使用Integer型別,而不是int型別?...資料庫型別
- 帝國cms所有資料庫欄位說明資料庫
- 為什麼資料庫欄位要使用NOT NULL?資料庫Null
- 資料庫系列:高併發下的資料欄位變更資料庫
- python獲取、修改mysql資料庫欄位屬性PythonMySql資料庫
- mybatis 實體類排除資料庫欄位對映MyBatis資料庫
- 模型資料追加欄位模型
- 資料庫欄位設定非空, phalcon建立資料驗證不透過資料庫
- 位運算-設計資料庫表的多選狀態欄位資料庫
- 資料庫效能優化之冗餘欄位的作用資料庫優化
- Mysql時間欄位格式如何選擇,TIMESTAMP,DATETIME,INT?MySql
- 織夢資料庫表結構_Dedecms資料庫表和欄位詳細介紹資料庫
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- thinkphp validate unique 資料庫欄位唯一性校驗PHP資料庫
- ABAP 資料庫表 Size Category 欄位的準確含義資料庫Go
- 達夢資料庫DM管理工具如何新增修改刪除資料庫欄位資料庫
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- Oracle資料庫連結(DBLink)中如何訪問包含BLOB欄位的資料Oracle資料庫
- 自定義元件-純資料欄位元件
- 將資料庫照片大欄位下卸到檔案系統,照片檔名以某一個欄位命名資料庫
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- 資料庫欄位為0000-00-00的解決辦法資料庫
- Oracle資料庫高水位釋放——LOB欄位空間釋放Oracle資料庫
- 支援 enum 型別的欄位允許為空插入資料庫型別資料庫
- SpringBoot+ Sharding Sphere 輕鬆實現資料庫欄位加解密Spring Boot資料庫解密
- 如何在Oracle資料庫中查詢表和欄位說明Oracle資料庫
- 如何較方便給上百張資料庫表新增表欄位資料庫
- Qt 檢查int某一位資料是否為1QT
- 資料處理之欄位合併