MySQL を使用する際、フィールドをソートしたりクエリしたりすることがよくあります。通常は、中国語のピンインの最初の文字でソートします。ただし、MySQL で中国語の文字をソートすると、中国語の文字のソート結果が間違っていることがよくあります。 この状況は MySQL の多くのバージョンで発生します。 この問題が解決されない場合、MySQL は実際に中国語を処理できなくなります。 この問題の原因は、MySQL が文字列をクエリするときに大文字と小文字を区別しないことです。MySQL をコンパイルする場合、通常、ISO-8859 文字セットがデフォルトの文字セットとして使用されます。そのため、比較プロセス中に中国語でエンコードされた文字の大文字と小文字が変換されると、この現象が発生します。 情報を確認した後、解決策は 2 つあります。1. 中国語の文字を含むフィールドに「binary」属性を追加して、バイナリ フィールドとして比較できるようにします。たとえば、「name varchar(10)」を「name varchar(10)binary」に変更します。 2. テーブル構造を変更したり、MySQL を再コンパイルしたりしたくない場合は、クエリ ステートメントの order by 部分で CONVERT 関数を使用することもできます。 たとえば、名前フィールドが中国語で、並べ替える必要がある場合は、select * from mytable order by CONVERT(name USING gbk); と記述できます。 補足: MySQL データベースのデフォルトのソート問題 1. MySQL公式回答:SELECT * FROM tbl -- これは「テーブル スキャン」を実行します。テーブルに DELETE/REPLACE/UPDATE が一度も実行されていない場合、レコードは挿入順序で表示されるため、このような結果になります。 つまり、MyISAM エンジン テーブルが削除または変更されず、order by なしの select ステートメントが実行されると、テーブルは挿入順にソートされます。 InnoDB テーブルで同じステートメントを実行した場合、INSERT 順序ではなく PRIMARY KEY 順序で配信されます。繰り返しますが、これは基盤となる実装の成果物であり、依存するものではありません。 InnoDB エンジン テーブルの場合、同じ状況で、order by なしの select は、主キーによって小さいものから大きいものの順に並べ替えられます。 2. データベース エンジン コマンドを表示します。(1)テーブルで使用されているエンジンを表示する テーブルの作成を表示します。 (2)MySQLがサポートするエンジンを確認する エンジンを表示します。 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: CSS を使用して複数列の等高レイアウトを設定する方法の例
目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...
原理手ぶれ補正の原理は、イベントをトリガーすることはできますが、イベントがトリガーされてから n 秒...
[mysql] replace の使用方法 (フィールドの内容の一部を置き換える) [mysql]...
目次概要オブジェクトの残り属性オブジェクトの拡張プロパティオブジェクトの浅いコピーを作成するkeyo...
多くの場合、 Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼ら...
まずはレンダリングを見てみましょう: XML/HTML コードコンテンツをクリップボードにコピー&l...
このプロジェクトでは MySQL を使用する必要があります。これまで Windows では常に確実に...
情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...
画像をダウンロード docker プル openjdkデータボリュームの作成java_appデータボ...
目次序文仮想リストとは何ですか?デモ効果準備スクリーンの高さとボックスの高さ最適化要約する序文人気の...
TypeScript を使用する場合、TypeScript が提供する型システムを使用してコードのあ...
目次1. 算術演算子2. 比較演算子3. 論理演算子4. ビット演算子5. 演算子の優先順位1. 算...
序文最も人気のあるフロントエンド開発フレームワークである Bootstrap は、Web サイトの開...
問題点: docker run に -v パラメータを追加すると、コンテナは常に再起動状態になります...
目次1. ルール 1: Object.Method() 1.1 ケース1 1.2 ケース2 1.3 ...