Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Długości VARCHAR MySQL i UTF-8

Ta odpowiedź pojawiła się u góry moich wyników wyszukiwania Google, ale nie była poprawna, więc:

Zamieszanie jest prawdopodobnie spowodowane testowaniem różnych wersji mysql.

  • Wersja 4 liczy bajty
  • Wersja 5 liczy znaki

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

MySQL interpretuje specyfikacje długości w definicjach kolumn znakowych w jednostkach znakowych. (Przed MySQL 4.1 długości kolumn były interpretowane w bajtach.) Dotyczy to typów CHAR, VARCHAR i TEXT.

Co ciekawe (nie myślałem o tym) na maksymalną długość kolumny varchar wpływa utf8 w następujący sposób:

Efektywna maksymalna długość VARCHAR w MySQL 5.0.3 i nowszych jest zależna od maksymalnego rozmiaru wiersza (65 535 bajtów, który jest współdzielony przez wszystkie kolumny) i użytego zestawu znaków. Na przykład znaki utf8 mogą wymagać maksymalnie trzech bajtów na znak, więc kolumna VARCHAR, która używa zestawu znaków utf8, może być zadeklarowana jako maksymalnie 21 844 znaków.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja MySQL ACOS() — zwraca cosinus łuku liczby

  2. Liczba elementów MySQL w klauzuli

  3. Jak liczyć elementy na liście oddzielonej przecinkami MySQL

  4. Jak wstawić wybrane kolumny z pliku CSV do bazy danych MySQL za pomocą funkcji LOAD DATA INFILE?

  5. mysql_fetch_row() vs mysql_fetch_assoc() vs mysql_fetch_array()