Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL VARCHAR (255) UTF8 quá dài đối với khóa, nhưng độ dài tối đa là 1000 byte

Nếu bạn đang sử dụng utf8mb4 và bạn có các chỉ mục duy nhất trên các cột varchar có độ dài lớn hơn 191 ký tự, bạn sẽ cần bật innodb_large_prefix để cho phép các cột lớn hơn trong chỉ mục, vì utf8mb4 yêu cầu nhiều không gian lưu trữ hơn utf8 hoặc latin1 . Thêm phần sau vào tệp my.cnf của bạn.

[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

Thông tin thêm về lý do và tương lai từ tài liệu MySQL 5.7 :

Tóm lại, giới hạn chỉ ở đó đối với khả năng tương thích và sẽ được tăng lên trong các phiên bản trong tương lai.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tăng tự động mySQL tăng 10 (ClearDB &Node)

  2. MYSQL chỉ đổ một số hàng nhất định

  3. Spring Boot JPA:Chuyển nhiều giá trị cho cùng một thông số (JPQL)

  4. Cột không xác định trong mệnh đề Where

  5. pt-query-inherit Alternatives - Quản lý và giám sát truy vấn MySQL với ClusterControl