日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

linux mysql UNSIGNED,关于mysql:MySqlint10-与-int-unsigned-之前的区别

發布時間:2024/4/14 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux mysql UNSIGNED,关于mysql:MySqlint10-与-int-unsigned-之前的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先理解一下兩者都代表什么意思

int(10)

給 int 類型設置字節長度為 10,int 類型默認的值范疇大小是:-2147483648和2147483647。

unsigned

設置 int 類型不能為正數。

創立 MySql 表進行演示

創立 test-in 演示 int(10)

CREATE TABLE `test-in` (

`id` int(10) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (`id`)

)

向 test-in 表中插入數據。

insert into `test-in` values(2147483647);

insert into `test-in` values(-2147483648);

查看表中數據。

嘗試一下,在這兩個區間之外進行插入數據,是否能夠勝利插入。

下面圖中能夠看到兩條 Sql 均都報出異樣,插入的值超出了范疇,沒方法進行插入數據,只能在 int 范疇區間內進行數據插入。

創立 test-un 演示 int unsigned

CREATE TABLE `test-un` (

`id` int unsigned NOT NULL AUTO_INCREMENT,

PRIMARY KEY (`id`)

)

創立后查問一下 sql

在 sql 語句中,我并沒有指定 int 類型的字節長度,執行完 sql 當前,unsigned 會默認設置 int 字節長度為 10。

上述中說過應用 unsigned 屬性是沒方法向表中插入正數的,這里嘗試一下

能夠看到圖中提醒插入的值超出了范疇,因為 unsigned 屬性的限度,咱們沒有方法插入正數。

測試超過 int 默認的整數最大值插入

上圖中插入勝利了,闡明在應用 unsigned 屬性時,將默認 int 類型的取值范疇調整了。

調整后的 int 取值范疇

intMaxValue = 2147483648 + 2147483647 = 4294967295

測試一下是否真的能夠插入 4294967295 到數據庫中

答案是能夠的。

區別總結

默認的 int 類型,取值范疇是 -2147483648-2147483647 之間,而 unsigned 的取值范疇是 0-4294967295 之間。

默認的 int 類型,容許插入正數,unsigned 設置后,無奈插入正數。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的linux mysql UNSIGNED,关于mysql:MySqlint10-与-int-unsigned-之前的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。