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

Độ dài VARCHAR của MySQL và UTF-8

Câu trả lời này đã xuất hiện ở đầu kết quả tìm kiếm trên google của tôi nhưng không chính xác vì vậy:

Sự nhầm lẫn có thể là do các phiên bản khác nhau của mysql đang được thử nghiệm.

  • Phiên bản 4 tính số byte
  • Phiên bản 5 đếm số ký tự

http://dev.mysql.com/doc /refman/5.0/en/string-type-overview.html

MySQL diễn giải các đặc tả độ dài trong các định nghĩa cột ký tự theo đơn vị ký tự. (Trước MySQL 4.1, độ dài cột được diễn giải theo byte.) Điều này áp dụng cho các loại CHAR, VARCHAR và TEXT.

Điều thú vị là (tôi chưa nghĩ đến điều đó) độ dài tối đa của một cột varchar bị ảnh hưởng bởi utf8 như sau:

Độ dài tối đa hiệu dụng của một VARCHAR trong MySQL 5.0.3 trở lên tùy thuộc vào kích thước hàng tối đa (65,535 byte, được chia sẻ giữa tất cả các cột) và bộ ký tự được sử dụng. Ví dụ:các ký tự utf8 có thể yêu cầu tối đa ba byte cho mỗi ký tự, vì vậy cột VARCHAR sử dụng bộ ký tự utf8 có thể được khai báo là tối đa 21.844 ký tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để sao lưu và khôi phục cơ sở dữ liệu MySQL?

  2. Chèn / cập nhật chức năng trợ giúp bằng PDO

  3. Cách hạn chế quyền truy cập cổng MySQL

  4. CONV () - Chuyển đổi số giữa các cơ sở khác nhau trong MySQL

  5. JSON_SET () - Chèn hoặc cập nhật giá trị trong tài liệu JSON trong MySQL