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

mysqlでの照合エラーの不正な組み合わせのトラブルシューティング

    これは通常、互換性のない照合の2つの文字列を比較するか、異なる照合のデータを組み合わせた列に選択しようとすることによって発生します。

    COLLATE クエリで使用する照合を指定できます。

    たとえば、次のWHERE 句は常にあなたが投稿したエラーを与えます:

    WHERE 'A' COLLATE latin1_general_ci = 'A' COLLATE latin1_general_cs
    

    解決策は、クエリ内の2つの列に共有照合を指定することです。 COLLATEを使用する例を次に示します。 条項:

    SELECT * FROM table ORDER BY key COLLATE latin1_general_ci;
    

    もう1つのオプションは、BINARYを使用することです。 演算子:

    BINARY strは、CAST(str AS BINARY)の省略形です。

    ソリューションは次のようになります:

    SELECT * FROM table WHERE BINARY a = BINARY b;
    

    または、

    SELECT * FROM table ORDER BY BINARY a;
    


    1. SQL Serverリストテーブル:すべてのテーブルを表示する方法

    2. テーブルの行を数える

    3. SQLServerの既存のテーブルに外部キー制約を追加する方法-SQLServer/TSQLチュートリアルパート68

    4. 非アクティブな時間の後に接続がハングする