v2.5.2
Giriş yap

Mysql Veri Uzunlukları Hangi Durumlarda Geçerli

ahmetturk
473 defa görüntülendi

Mysql'de tablo oluştururken veri tiplerine ait uzunlukları belirtiyoruz.
Bu uzunlukların anlamı tam olarak nedir? Geçerli oldukları veya olmadıkları durumlar mı var?

Örnek vermem gerekirse;

CREATE TABLE `testdb`.`a` ( `_int` INT(1) NOT NULL ) ENGINE = InnoDB;

bir tablo oluşturdum veri tipi INT ve uzunluğu 1

INSERT INTO `a` (`_int`) VALUES ('2147483647');

ve içerisine INT veritipinin alabileceği en büyük değeri girdiğim halde bu veriyi kayıt edebiliyorum.


SELECT * FROM `a`;
+------------+
| _int       |
+------------+
| 2147483647 |
+------------+

O halde benim içerisinde belirttiğim (1) uzunluğu ne anlama geliyor?

Cevap yaz
Cevaplar (1)
admin
1168 gün önce

int(1) ile int(20) aynı şeyi karşılıyor. sadece zerofill özelliği kullanıldığında geçerli olan bir durum. integer veri tipinde boyutu sınırlamak için bir veri tipi yok sanırım. varchar kullanmanız gerek.