sql >> Databáze >  >> RDS >> Mysql

mysql rozlišují malá a velká písmena v utf8_general_ci

Je lepší použít utf8_bin řazení, protože i když to není možné v UTF-8, v obecném případě je teoreticky možné (jako je tomu u UTF-16) pro stejné řetězec, který má být reprezentován jiným kódování, kterým by binární srovnání nerozumělo, ale binární řazení ano. Jak je zdokumentováno v části Znakové sady Unicode :

Pokud tedy budou srovnání zahrnující tyto sloupce vždy rozlišujte malá a velká písmena, měli byste nastavit řazení sloupců na utf8_bin (takže zůstanou rozlišována malá a velká písmena, i když ve svém dotazu zapomenete uvést jinak); nebo pokud pouze určité dotazy rozlišují malá a velká písmena, můžete zadat, že utf8_bin řazení by mělo být použito pomocí COLLATE klíčové slovo:

SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin


  1. Nedefinovaná vlastnost:Illuminate\Database\Eloquent\Collection::Laravel 5.2

  2. Co je kardinalita v MySQL?

  3. Parametry připojovacího řetězce pro Schema.ini

  4. Tabulka s 80 miliony záznamů a přidání indexu trvá více než 18 hodin (nebo navždy)! Co teď?