INT (5) vs SMALLINT (5): angka dalam tanda kurung setelah tipe numerik

29

Dalam definisi tabel MySQL apakah ada perbedaan antara INT(5)dan SMALLINT(5)? Atau apakah keduanya mewakili ukuran yang sama?

BenV
sumber

Jawaban:

41

An intdan a smallintmemiliki ukuran dan rentang yang berbeda. The (5)adalah smallint(5)atau int(5)disebut "Numeric Tipe Atribut" dan itu merupakan "layar lebar" dari lapangan,

MySQL mendukung ekstensi untuk secara spesifik menentukan lebar tampilan tipe data integer dalam tanda kurung mengikuti kata kunci dasar untuk tipe tersebut. Sebagai contoh, INT(4)tentukan a INTdengan lebar tampilan empat digit. Lebar tampilan opsional ini dapat digunakan oleh aplikasi untuk menampilkan nilai integer yang memiliki lebar kurang dari lebar yang ditentukan untuk kolom dengan melapisi bagian kiri dengan spasi. (Yaitu, lebar ini hadir dalam metadata yang dikembalikan dengan set hasil. Apakah digunakan atau tidak, itu tergantung pada aplikasi.)

Ketika digunakan bersama dengan atribut opsional (tidak standar) ZEROFILL, lapisan ruang default diganti dengan nol. Misalnya, untuk kolom yang dinyatakan sebagai INT(4) ZEROFILL, nilai 5diambil sebagai 0005.

Ini adalah "ekstensi" MySQL, dan zerofill adalah "ekstensi" pada ekstensi.

Untuk metode waras mengendalikan tampilan tipe numerik, jangan gunakan Atribut tipe numerik dan gunakan

Derek Downey
sumber