mysql 中的 unsigned 關(guān)鍵字用于定義非負(fù)整數(shù)列,可防止負(fù)數(shù)插入,提高性能和約束完整性。它適用于整數(shù)類型,如 unsigned int,用于存儲(chǔ)正數(shù),包括 0。
MySQL 中的 UNSIGNED 關(guān)鍵字
在 MySQL 中,UNSIGNED 關(guān)鍵字用于定義非負(fù)整數(shù)列。它表示該列只能存儲(chǔ)正數(shù),包括 0。
用途:
性能優(yōu)化:UNSIGNED 列的數(shù)據(jù)類型大小較小,可以減少存儲(chǔ)和處理開銷,從而提高性能。
約束完整性:UNSIGNED 列防止負(fù)數(shù)值插入,確保數(shù)據(jù)完整性。
范圍限制:UNSIGNED 列的取值范圍僅限于正整數(shù),這可以用于定義合理的約束。
語法:
CREATE TABLE table_name ( column_name UNSIGNED INT NOT NULL );
登錄后復(fù)制
示例:
創(chuàng)建一張具有名為 “age” 的 UNSIGNED INTEGER 列的表:
CREATE TABLE persons ( age UNSIGNED INT NOT NULL );
登錄后復(fù)制
優(yōu)點(diǎn):
提高存儲(chǔ)和處理效率。
確保數(shù)據(jù)完整性。
提供范圍限制。
缺點(diǎn):
無法存儲(chǔ)負(fù)數(shù)。
UNSIGNED 列的范圍比有符號(hào)列(INT / BIGINT)小。
注意:
默認(rèn)情況下,INT 和 BIGINT 列是有符號(hào)的,可以存儲(chǔ)正負(fù)數(shù)。
UNSIGNED 關(guān)鍵字僅適用于整數(shù)類型,不適用于浮點(diǎn)類型或字符串類型。