Saya tahu boolean di mysql sebagai tinyint (1)
.
Hari ini saya melihat tabel dengan bilangan bulat seperti tinyint(2)
, dan juga yang lain seperti int(4)
, int(6)
...
Apa arti ukuran di bidang tipe integer dan tinyint?
mysql
sqldatatypes
realtebo
sumber
sumber
Jawaban:
Itu berarti lebar layar
Apakah Anda menggunakan tinyint (1) atau tinyint (2), itu tidak ada bedanya.
Saya selalu menggunakan tinyint (1) dan int (11), saya menggunakan beberapa klien mysql (navicat, sequel pro).
Sama sekali tidak berarti apa-apa! Saya menjalankan tes, semua klien di atas atau bahkan klien baris perintah tampaknya mengabaikan ini.
Tapi, lebar layar paling penting jika Anda menggunakan
ZEROFILL
opsi, misalnya tabel Anda memiliki 2 kolom berikut:A tinyint (2) zerofill
B tinyint (4) zerofill
kedua kolom memiliki nilai 1, output untuk kolom A akan
01
dan0001
untuk B , seperti yang terlihat pada tangkapan layar di bawah ini :)sumber
Yang
(m)
menunjukkan lebar tampilan kolom; aplikasi seperti klien MySQL memanfaatkan ini ketika menampilkan hasil permintaan.Sebagai contoh:
Di sini
a
,b
danc
menggunakanTINYINT(1)
,TINYINT(2)
danTINYINT(3)
masing - masing. Seperti yang dapat Anda lihat, ini memberi nilai pada sisi kiri menggunakan lebar layar.Penting untuk dicatat bahwa itu tidak mempengaruhi rentang nilai yang diterima untuk jenis tertentu, yaitu
TINYINT(1)
masih menerima[-128 .. 127]
.sumber
sumber
Tentang INT, TINYINT ... Ini adalah tipe data yang berbeda, INT adalah nomor 4-byte, TINYINT adalah nomor 1-byte. Informasi lebih lanjut di sini - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT .
Sintaks tipe data TINYINT adalah TINYINT (M), di mana M menunjukkan lebar tampilan maksimum (hanya digunakan jika klien MySQL Anda mendukungnya).
Atribut Tipe Numerik .
sumber