Ini adalah perubahan yang didokumentasikan dalam Catatan rilis MySQL 8.0.19 :
"Panjang" kolom bilangan bulat tidak berarti apa-apa. Kolom int(11)
sama dengan int(2)
atau int(40)
. Semuanya adalah tipe data integer 32-bit berukuran tetap. Mereka mendukung nilai minimum dan maksimum yang sama.
"Panjang" kolom bilangan bulat telah menjadi fitur MySQL yang membingungkan selama bertahun-tahun. Ini hanya petunjuk yang memengaruhi lebar tampilan, bukan penyimpanan atau rentang nilai. Praktis, itu hanya penting ketika Anda menggunakan ZEROFILL
pilihan.
mysql> create table t ( i1 int(6) zerofill, i2 int(12) zerofill );
Query OK, 0 rows affected (0.02 sec)
mysql> insert into t set i1 = 123, i2 = 123;
Query OK, 1 row affected (0.00 sec)
mysql> select * from t;
+--------+--------------+
| i1 | i2 |
+--------+--------------+
| 000123 | 000000000123 |
+--------+--------------+
1 row in set (0.00 sec)
Jadi ada baiknya bahwa "panjang" bilangan bulat yang menyesatkan sekarang tidak digunakan lagi dan dihapus. Ini telah menyebabkan kebingungan selama bertahun-tahun.