mysqlでサイズの差を設定する方法

PHPz
リリース: 2023-04-19 17:30:06
オリジナル
5980 人が閲覧しました

MySQL データベースは、Web アプリケーションのデータの保存とアクセスに使用される一般的に使用されるリレーショナル データベース管理システムです。 MySQL のデータ テーブルは大文字と小文字を区別しません。つまり、クエリ時に大文字と小文字が区別されません。ただし、場合によっては、MySQL で大文字と小文字を区別する必要があり、その場合は対応する設定を行う必要があります。この記事では、MySQL で大文字と小文字を区別する設定方法を紹介します。

1. MySQL における大文字と小文字の区別の原則

MySQL では、名前は言語の単語や語句ではなく、文字としてのみとみなされます。したがって、MySQL は名前間の違いを判断するために大文字と小文字を区別しません。たとえば、MySQL は「table1」と「Table1」を同じ名前として扱います。

2. MySQL で大文字と小文字を区別するように設定します

  1. my.cnf 設定ファイルに設定します

my.cnf 設定ファイルを開きます。存在しない場合は、新しいファイルが作成されます。次のコードをファイルに追加します。

[mysqld]
lower_case_table_names=1
ログイン後にコピー

ファイルを保存し、MySQL サーバーを再起動します。 lower_case_table_names を 1 に設定することで、MySQL で大文字と小文字の区別を強制することができます。 0 に設定すると、MySQL では大文字と小文字が区別されず、デフォルト値は 0 になります。

  1. コマンド ラインで設定

MySQL 構成ファイルを変更する権限を持たないユーザーは、MySQL コマンド ラインで設定できます。コマンド ラインで次のコマンドを使用します。

SET GLOBAL lower_case_table_names=1;
ログイン後にコピー

これにより、MySQL サーバー上で lower_case_table_names パラメータがグローバルに 1 に設定されます。この設定は、MySQL サーバーを再起動しても維持されます。

次のコマンドを使用して、現在のセッションで設定することもできます:

SET SESSION lower_case_table_names=1;
ログイン後にコピー

これにより、現在のセッションで lower_case_table_names パラメータが 1 に設定されます。この設定は、現在のセッションの終了時に期限切れになります。

3. 注意事項

  1. lower_case_table_names=1 パラメーターを使用すると、機密性の高いテーブル名の大文字と小文字が小文字に変換されます。 2 つのテーブルの名前は同じですが、大文字と小文字が異なる場合、 lower_case_table_names=1 の場合、それらは同じテーブルになります。したがって、このパラメーターを使用する場合は、テーブル名を慎重に選択する必要があります。
  2. lower_case_table_names=1 では、utf8_bin などの大文字と小文字を区別する非バイナリの並べ替えや検索ルールは使用できません。これは、 lower_case_table_names=1 を指定するとすべての文字が小文字に変換され、大文字と小文字を区別する並べ替えや検索ルールが機能しなくなるためです。
  3. lower_case_table_names=1 を使用すると、大文字と小文字を区別する文字セット機能は使用できません。たとえば、latin1_cs または utf8_cs 文字セットでは、cs は大文字と小文字の区別を示しますが、 lower_case_table_names=1 ではすべての文字が強制的に小文字に変換されるため、大文字と小文字の区別ルールは機能しません。

4. 概要

MySQL データベースのデフォルト設定では、大文字と小文字が区別されません。ただし、クエリ時に大文字と小文字を区別する必要がある場合は、my.cnf 設定ファイルで lower_case_table_names を 1 に設定するか、MySQL コマンド ラインで SET ステートメントを使用できます。ただし、 lower_case_table_names=1 の使用にはいくつかの制限があり、テーブル名または文字セットを慎重に選択しないと問題が発生する可能性があることに注意してください。したがって、注意して使用する必要があります。

以上がmysqlでサイズの差を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート