Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да накарам MySQL да обработва низове като SQLite, по отношение на Unicode и съпоставяне?

MySQL иска да конвертира низове, когато прави INSERT и SELECT . Преобразуването е между това, което декларирате за клиент да има и какво е колона е обявено за съхранение.

Единственият начин да избегнете това е с VARBINARY и BLOB вместо VARCHAR и TEXT .

Използването на COLLATION utf8mb4_bin не избягва преобразуването към/от CHARACTER SET utf8mb4; той просто казва, че WHERE и ORDER BY трябва да сравнява битовете, вместо да се занимава с акценти и сгъване на главни букви.

Имайте предвид, че CHARACTER SET utf8mb4 е начин за кодиране на текст; COLLATION utf8mb4_* е правила за сравняване на текстове в това кодиране. _bin е простодушен.

UNIQUE включва сравняване за равенство, следователно COLLATION . В повечето съпоставяния utf8mb4 3 (без интервали) ще се сравняват равни. utf8mb4_bin ще третира 3-те като различни. utf8mb4_hungarian_ci третира one=One>öne.

Крайните интервали се контролират от типа данни на колоната (VARCHAR или друго). Най-новата версия дори има настройка, свързана с това дали да се обмислят крайни интервали.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите стойности от MySQL(5.6) колона, ако тя съдържа json документ като низ

  2. Добавянето на индекс към голяма таблица отнема вечно

  3. MySQL Utilities - файл с опции ~/.my.cnf

  4. Групирането на mysql води до групи по четири

  5. Колоната на таблицата на Mysql не може да бъде нула