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

MySQL VARCHAR(255) UTF8 terlalu panjang untuk kunci, tetapi panjang maksimalnya adalah 1000 byte

Jika Anda menggunakan utf8mb4, dan Anda memiliki indeks unik pada kolom varchar yang panjangnya lebih dari 191 karakter, Anda harus mengaktifkan innodb_large_prefix untuk memungkinkan kolom yang lebih besar dalam indeks, karena utf8mb4 membutuhkan lebih banyak ruang penyimpanan daripada utf8 atau latin1 . Tambahkan yang berikut ini ke file my.cnf Anda.

[mysqld]
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_large_prefix=1
init_connect='SET collation_connection = utf8mb4_unicode_ci; SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

Info selengkapnya tentang alasan dan masa depan dari dokumentasi MySQL 5.7 :

Singkatnya, batas hanya ada untuk kompatibilitas dan akan ditingkatkan di versi mendatang.



  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 saya bisa menggunakan now() di Doctrine 2 DQL?

  2. bagaimana cara menggunakan mysql_data_seek dengan PDO?

  3. PHP/PDO/MySQL:memasukkan ke MEDIUMBLOB menyimpan data yang buruk

  4. MySQL DROP semua tabel, abaikan kunci asing

  5. .Net MySql error Kunci yang diberikan tidak ada dalam kamus