資料庫儲存的資料無限127的問題

2021-07-17 05:29:19 字數 848 閱讀 8652

今天在做乙個事務測試的時候用到了餘額,給餘額賦值以後發現餘額一直是127.

最後檢測發現是資料庫的資料型別選擇了tinyint的關係

tinyint(size) -128 到 127 常規。0 到 255 無符號*。在括號中規定最大位數。

smallint(size) -32768 到 32767 常規。0 到 65535 無符號*。在括號中規定最大位數。

mediumint(size) -8388608 到 8388607 普通。0 to 16777215 無符號*。在括號中規定最大位數。

int(size) -2147483648 到 2147483647 常規。0 到 4294967295 無符號*。在括號中規定最大位數。

bigint(size) -9223372036854775808 到 9223372036854775807 常規。0 到 18446744073709551615 無符號*。在括號中規定最大位數。

float(size,d) 帶有浮動小數點的小數字。在括號中規定最大位數。在 d 引數中規定小數點右側的最大位數。

double(size,d) 帶有浮動小數點的大數字。在括號中規定最大位數。在 d 引數中規定小數點右側的最大位數。

decimal(size,d) 作為字串儲存的 double 型別,允許固定的小數點。

* 這些整數型別擁有額外的選項 unsigned。通常,整數可以是負數或正數。如果新增 unsigned 屬性,那麼範圍將從 0 開始,而不是某個負數。

所以當超過127時  會選擇最大的127作為值。因此雖然資料庫顯示160,沒有報錯,但是他的值是127 ,計算過後數值就和預想中不一致

因此當資料大於127時  資料型別可以選擇smallin等

資料庫的資料儲存

資料庫的讀寫分離,mysql 完整資料 主庫是寫庫,從庫是讀庫 因為正常的產品,查詢的情況大於儲存的情況,寫入伺服器可以少加幾台,讀取的可以多加幾台,合理的適配資源,二八定則 如何實現session共享 因為分布式開發才存在session共享,乙個服務部署在多個伺服器上,session在伺服器內部記...

oracle學習 資料庫儲存管理中遇到的問題

解決方案 將非歸檔模式更改為歸檔模式 首先,檢視是否為非歸檔模式 sql select name,log mode from v database log mode 下顯示noarchivelog sql shutdown immediate 關閉資料庫 關閉例程 sql startup mount...

資料庫的儲存過程

什麼是儲存過程,儲存過程的作用及好處 儲存過程 stored procedure 是一組為了完成特定功能的sql 語句集,經編譯後儲存在資料庫。中使用者通過指定儲存過程的名字並給出引數 如果該儲存過程帶有引數 來執行它。儲存過程是sql 語句和可選控制流語句的預編譯集合,以乙個名稱儲存並作為乙個單元...