Rumah > Artikel > pangkalan data > Apakah perbezaan antara tinyint(1) dan tinyint(4) dalam Mysql
Jenis rentetan: varchar(M), M ialah aksara maksimum yang boleh disimpan dalam String medan, iaitu panjang medan. Bergantung pada tetapan, apabila nilai yang anda masukkan melebihi panjang tetapan medan, anda berkemungkinan menerima gesaan ralat Jika anda tidak menerima gesaan, data yang dimasukkan juga mungkin dipotong secara automatik agar sesuai dengan panjang yang telah ditetapkan. padang. Semuanya seperti varchar(5) bermakna panjang rentetan yang disimpan tidak boleh melebihi 5.
Jenis lajur angka: Pengubah suai panjang menunjukkan lebar maksimum dan tiada kaitan dengan storan fizikal medan, iaitu tinyint(1) dan tinyint(4) ditandatangani. Julat storan ialah -128 hingga 127 (tanpa tanda, ia adalah 0 hingga 255).
Nota: Julat lalai yang ditandatangani ialah (-128~127), dan panjang lalai ialah 4. >Jika zerofill digunakan, apabila panjang sebenar tidak mencapai panjang paparan yang ditentukan, ia akan dipadatkan dengan 0 di hadapan.
Dalam jenis data MySQL, tinyin berkaitan sama ada ia tidak ditandatangani atau tidak Julat nilai yang ditandatangani ialah -128~127 Julat nilai yang tidak ditandatangani ialah 0~255. Nombor dalam kurungan tiada kaitan dengan nilai yang disimpan, hanya lebar paparan dalam beberapa kes.
2 UjianApa yang berlaku apabila medan nama jenis rentetan ditetapkan kepada panjang melebihi 5 ?
Apakah yang berlaku apabila medan umur jenis tinyint (ditandatangani) ditetapkan di luar julat (-128~127)? 1 bait = 8 bit, panjang data maksimum yang boleh diwakili oleh satu bait ialah 2 hingga kuasa ke-8 11111111 dalam komputer Ia adalah
-128 hingga 127
1.BIT[M]
jenis medan bit, M mewakili bilangan bit dalam setiap nilai, antara 1 hingga 64, jika M Diabaikan, lalainya ialah 1
2.TINYINT[(M)] [TIDAK TANDA] [ZEROFILL] M lalai kepada 4
Integer kecil. Julat yang ditandatangani ialah -128 hingga 127. Julat yang tidak ditandatangani ialah 0 hingga 255.
3. BOOL, BOOLEAN
ialah sinonim untuk TINYINT(1). Nilai sifar dianggap palsu. Nilai bukan sifar dianggap benar.
4.KECIL[(M)] [TIDAK TANDA] [ZEROFILL] M lalai kepada 6
integer kecil. Julat yang ditandatangani ialah -32768 hingga 32767. Julat yang tidak ditandatangani ialah 0 hingga 65535.
5.MEDIUMINT[(M)] [UNTANDATANGAN] [ZEROFILL] M lalai kepada 9
Integer bersaiz sederhana. Julat yang ditandatangani ialah -8388608 hingga 8388607. Julat yang tidak ditandatangani ialah 0 hingga 16777215.
6. INT[(M)] [TIDAK TANDA] [ZEROFILL] M lalai kepada 11
Integer bersaiz normal. Julat yang ditandatangani ialah -2147483648 hingga 2147483647. Julat yang tidak ditandatangani ialah 0 hingga 4294967295.
7.BIGINT[(M)] [TIDAK TANDA] [ZEROFILL] M lalai kepada 20
integer besar. Selang simbolik ialah -9223372036854775808 hingga 9223372036854775807. Julat yang tidak ditandatangani ialah 0 hingga 18446744073709551615.
Nota: M di sini tidak mewakili panjang khusus yang disimpan dalam pangkalan data Saya pernah tersilap berfikir bahawa int(3) hanya boleh menyimpan nombor 3-panjang, int(11) akan menyimpan 11. -nombor panjang, yang sama sekali salah.Atas ialah kandungan terperinci Apakah perbezaan antara tinyint(1) dan tinyint(4) dalam Mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!