sql >> データベース >  >> RDS >> Mysql

utf8_unicode_cs照合は存在しますか?

    私は同じ問題に遭遇しました、そしていくつかのグーグルの後、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
    


    1. bashの警告出力を抑制します

    2. テーブル名とshowテーブルの一致

    3. 初心者のためのSQLUNION句

    4. ネストした表でのOracleトリガー