私は同じ問題に遭遇しました、そしていくつかのグーグルの後、MySQLはそれを含んでいないようです。 「それをシミュレートする」ために、あなたがそれを置くように、
1) DBで大文字と小文字を区別するには、テーブルの列をutf8_bin
に設定します。 照合
これにより、次のことが可能になります:
- 厳密な選択:
SELECT "Joe"
「joe」/「joE」/「jOe」/などの行は返されません - strict UNIQUEインデックス:UNIQUEインデックスを持つ列は、大文字と小文字の違いを異なる値として扱います。たとえば、utf8_unicode_ci照合が使用されている場合、すでに「joe」が含まれているテーブルに「Joe」を挿入すると、「Duplicatekey」エラーがトリガーされます。 ut8_binを使用する場合、「Joe」の挿入は正常に機能します。
2)結果の正しい順序を取得するには:SQLクエリに照合を追加します:
SELECT ... ORDER BY column COLLATE utf8_unicode_ci