MySQL が中国語のクエリをサポートしていないのはなぜですか_PHP チュートリアル
Q:
クエリ条件を作成するときの問題は次のとおりです。
たとえば、フィールド
$str="李"; に単語「李」を含むすべてのレコードを書き込みたいです。
select * from table where field like %$str% ;
「李」という単語を含むレコードに加えて、「李」という単語を含まないレコードもあります。なぜ?
A:
MySQL では、漢字をソートおよび検索するときに、漢字のソートおよび検索結果が間違っています。この状況は MySQL の多くのバージョンで存在します。この問題が解決されない場合、MySQL は実際に中国語を処理できなくなります。
この問題の理由は次のとおりです。MySQL は文字列のクエリ時に大文字と小文字を区別しません。通常、ISO-8859 文字セットがデフォルトの文字セットとして使用されるため、中国語のコード化された文字は比較プロセス中に大文字と小文字が変換されます。この現象を引き起こしました。
方法 1:
解決策は、中国語を含むフィールドに「binary」属性を追加してバイナリ比較を行うことです。たとえば、「name char(10)」を「name char(10)binary」に変更します。
方法 2:
ソース コードを使用して MySQL をコンパイルする場合、MySQL のコンパイル時に --with--charset=gbk パラメータを使用できるため、MySQL は中国語の検索と並べ替えを直接サポートします。
方法3:
Mysqlのlocate関数を使って判断できます。上記の問題を例にとると、使用方法は次のとおりです。
SELECT * FROM table WHERElocate(field, Li) > 0;
このサイトではこの方法を使用していますが、かなり良い感じです。 :P
方法 4:
Select ステートメントを SELECT * FROM TABLE WHERE LIKE BINARY %FIND% に変更します

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

仮想通貨価格の上昇の要因には、次のものが含まれます。1。市場需要の増加、2。供給の減少、3。刺激された肯定的なニュース、4。楽観的な市場感情、5。マクロ経済環境。衰退要因は次のとおりです。1。市場需要の減少、2。供給の増加、3。ネガティブニュースのストライキ、4。悲観的市場感情、5。マクロ経済環境。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

Concordium:プライバシーとコンプライアンスを考慮した公開第1レベルのブロックチェーンプラットフォームは、公開第1レベルのブロックチェーンプラットフォームです。その中心は、プライバシーと規制のコンプライアンスとアイデンティティ検証の巧妙な統合にあります。 Lars Seier Christensenによって2018年に設立されたプラットフォームのコアテクノロジーは、各トランザクションのプロトコルレベルに暗号化のアイデンティティを埋め込みます。このユニークな設計により、ユーザーのプライバシーを保護しながら責任のトレーサビリティが保証され、ブロックチェーン分野での匿名性と規制要件の間の競合の問題を効果的に解決します。この問題を軽減するために、Concordiumはゼロナレッジプルーフ(ZKP)テクノロジーを利用して、不要な個人情報を開示することなく特定のID属性を検証できるようにします。これは、それにもかかわらず、それを意味します

MySQLは、迅速な開発や中小規模のアプリケーションに適していますが、Oracleは大規模な企業や高可用性のニーズに適しています。 1)MySQLはオープンソースで使いやすく、Webアプリケーションや中小企業に適しています。 2)Oracleは強力で、大企業や政府機関に適しています。 3)MySQLはさまざまなストレージエンジンをサポートし、Oracleは豊富なエンタープライズレベルの機能を提供します。

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...
