utf8_bin
を使用することをお勧めします なぜなら、UTF-8では不可能ですが、一般的なケースでは、理論的には(UTF-16で発生するように)同じで可能であるためです。 異なるで表される文字列 バイナリ比較では理解できませんが、バイナリ照合では理解できるエンコーディング。 ユニコード文字セット
に記載されているとおり :
したがって、これらの列を含む比較が常に 大文字と小文字を区別するために、列の照合をutf8_bin
に設定する必要があります (クエリで別の方法で指定するのを忘れた場合でも、大文字と小文字が区別されるようにします)。または、特定のクエリで大文字と小文字が区別される場合は、utf8_bin
を指定できます。 照合は、COLLATE
を使用して使用する必要があります キーワード:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin