Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL 8 mengabaikan panjang integer

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana menghubungkan ke database di server lain

  2. Prosedur Tersimpan MySQL

  3. Tetapkan opsi default di dropdown php dan pertahankan saat mengirimkan kueri

  4. mysqld:Tidak dapat mengubah dir menjadi data. Server tidak dimulai

  5. Masukkan beberapa file teks berbatas tab ke MySQL dengan Python?