Lebar tampilan "fitur" tambahan ini cukup membingungkan, karena pada jenis kolom lain seperti CHAR
adalah menentukan panjangnya.
Berikut uraian singkatnya:
- Paling penting:Ini tidak menentukan "ruang penyimpanan" atau "jumlah digit". Itu hanya mengatakan bagaimana data di kolom ini diformat sebelum dikembalikan. INT(5) dapat menyimpan sama nilai seperti INT(16) atau INT(255) - ketiganya dapat menyimpan semua (dan hanya) nilai yang valid untuk INT. INT(255) tidak dapat menyimpan angka dengan 255 digit. Ruang penyimpanan untuk semuanya adalah ruang yang ditempati INT.
- Jika Anda menggunakan
ZEROFILL
pada kolom dengan lebar tampilan, dan representasi string dari nomor yang disimpan lebih pendek dari lebar tampilan, itu akan diisi dengan nol. Jika lebih lama, tidak ada yang terjadi. Jika Anda memilih INT(5) dan nilainya 13, itu akan dikembalikan sebagai 00013. Jika nilainya 123456, itu akan dikembalikan sebagai 123456. - Jika Anda tidak menggunakan
ZEROFILL
, tidak akan ada padding sama sekali (tanpa spasi dan semacamnya) - Jika Anda menggunakan
ZEROFILL
, Anda harus menyadari bahwa kolom tersebut juga akanUNSIGNED
- Bagaimanapun, lebar tampilan dikembalikan saat data meta tabel dikueri. Jadi aplikasi bisa mengetahui bagaimana data harus diformat.
Saya tidak suka lebar tampilan, karena lapisan penyimpanan "tahu" tentang presentasi visual dari data yang disimpan. Selain itu, tidak ada gunanya yang saya sadari.