Sıfır (doldur) anahtar kelimeli int (10) için bir örnek verelim, biri değil, tablo şöyle:
create table tb_test_int_type(
int_10 int(10),
int_10_with_zf int(10) zerofill,
unit int unsigned
);
Biraz veri ekleyelim:
insert into tb_test_int_type(int_10, int_10_with_zf, unit)
values (123456, 123456,3147483647), (123456, 4294967291,3147483647)
;
Sonra
select * from tb_test_int_type;
# int_10, int_10_with_zf, unit
'123456', '0000123456', '3147483647'
'123456', '4294967291', '3147483647'
Görebiliyoruz
anahtar kelime ile zerofill
10'dan küçük num 0 doldurur, ancak zerofill
olmazsa
İkincisi zerofill
, int_10_with_zf anahtar sözcüğüyle imzasız int türüne dönüşür, eksi eklerseniz hata alırsınız Out of range value for column.....
. Ancak int_10 öğesine eksi ekleyebilirsiniz. Ayrıca int_10'a 4294967291 eklerseniz hata alırsınızOut of range value for column.....
Sonuç:
int (X) anahtar kelime olmadan zerofill
, int aralığına eşit -2147483648 ~ 2147483647
int (X) anahtar kelimesiyle zerofill
, alan işaretsiz int aralığına eşittir 0 ~ 4294967295, num'un uzunluğu X'den küçükse 0 sola doldurur