MySQL UNSIGNED和ZEROFILL屬性

  • 2019 年 10 月 11 日
  • 筆記

UNSIGNED
這個屬性就是標記數字類型是無符號的,和C/C++語言中的unsigned含義是一樣的,int signed的類型範圍是-2147483648~2147483648,而int unsigned的範圍是0~4294967295

這個屬性使用時候可以在建表語句、加欄位語句或者查詢sql里也是可以的

create table t (a int unsigned)ENGINE=INNODB;  select cast(a as signed integer);  

ZEROFILL
這個屬性的意思是,如果寬度小於設定的寬度,則自動填充0,當然只是顯示而已
ZEROFILL用在欄位後面就可以,可以在建表語句、加欄位語句

alter table t change column a a int(4) unsigned zerofill;

例子:

  CREATE TABLE t (a INT UNSIGNED)ENGINE=INNODB;  INSERT INTO t SELECT 1;  SELECT a,HEX(a) FROM t;  ALTER TABLE t CHANGE a a INT(4) SIGNED ZEROFILL;  SELECT a,HEX(a) FROM t;  

在这里插入图片描述

Tags: