MySQL データベースの大文字と小文字の区別の問題

MySQL データベースの大文字と小文字の区別の問題

MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応します。データベース内の各テーブルは、データベース ディレクトリ内の少なくとも 1 つのファイル (ストレージ エンジンによっては複数のファイル) に対応します。したがって、使用しているオペレーティング システムの大文字と小文字の区別によって、データベース名とテーブル名の大文字と小文字の区別が決まります。つまり、ほとんどの Unix システムではデータベース名とテーブル名は大文字と小文字が区別されますが、Windows では区別されません。 注目すべき例外は Mac OS X です。これは Unix をベースにしていますが、大文字と小文字を区別しないデフォルトのファイル システム タイプ (HFS+) を使用します。

Windows ではテーブル名の大文字と小文字は区別されないため、データをインポートした後、すべてのテーブル名が小文字になる可能性があります。Windows から Linux にインポートした後、呼び出し時に大文字と小文字の問題が発生する可能性があります。例えば:

最初のポイント: プログラム呼び出しテーブルの名前は codetc_Web です。

2 番目のポイント: win をインポートすると、codetc_web になります。

3 番目のポイント: Linux にインポートした後も、codetc_web のままです。このとき、Linux はテーブル名の大文字と小文字を区別するため、テーブルが読み取れなくなります。

Linux での MySQL テーブル名の大文字小文字の問題の解決策:

通常 /etc/my.cnf にある my.cnf を変更し、ファイル内の [mysqld] セクションを見つけて、次のステートメントを追加します (ステートメントが既に存在する場合は、値を 1 に変更することに注意してください)。

lower_case_table_names=1

1. Linux に MySQL をインストールした後のデフォルトは、テーブル名では大文字と小文字が区別されますが、列名では大文字と小文字は区別されません。

2. root アカウントでログインした後、/etc/my.cnf の [mysqld] の後にlower_case_table_names=1を追加し、MYSQL サービスを再起動します。これで設定は成功です。テーブル名は大文字と小文字が区別されません。

lower_case_table_names パラメータの詳細な説明:

lower_case_table_names = 0或1

0: 大文字と小文字を区別する、1: 大文字と小文字を区別しない

Linux での MySQL データベース名、テーブル名、列名、およびエイリアスの大文字と小文字の規則は次のとおりです。

1. データベース名とテーブル名では大文字と小文字が厳密に区別されます。

2. テーブル別名では大文字と小文字が厳密に区別されます。

3. 列名と列エイリアスでは、大文字と小文字は区別されません。

4. 変数名も厳密に大文字と小文字が区別されます。

MySQL は Windows では大文字と小文字を区別しません。クエリ時にフィールド値の大文字と小文字を区別する必要がある場合は、クエリフィールド値に BINARY 属性を設定する必要があります。設定方法はいくつかあります。

(1)作成時の設定:

テーブルT(A VARCHAR(10) BINARY)を作成します。

(2)alterを使って修飾する:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

(3)MySQLテーブルエディタでBINARY項目を直接確認します。

MySQL クエリで大文字と小文字を区別するには、次の操作を行います。

table_name から * を選択し、バイナリ a が 'a%' のような場合  
table_name から * を選択し、バイナリ a が 'A%' に一致するかどうかを確認します。

テーブルを作成するときにマークすることもできます

テーブルtable_nameを作成します( 
   varchar (20) バイナリ
)

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL の大文字と小文字の区別に関する注意
  • MySQLの文字タイプは大文字と小文字を区別します
  • MySQL で大文字と小文字を区別しないように設定する方法
  • MySQLの大文字と小文字の区別によって発生する問題の分析
  • MySQLクエリで大文字と小文字を区別しない問題を解決する方法
  • MySQLテーブル名の大文字と小文字を区別しない設定方法の詳細な説明
  • Linux システム MySQL のパスワードを忘れた場合、パスワードをリセットし、テーブル名と列名の大文字と小文字を無視します
  • MySQL クエリ時に文字列の大文字と小文字を区別する方法
  • MySql クエリの大文字と小文字を区別しないソリューション (2)
  • MySQL テーブル名の大文字と小文字の選択

<<:  Windows 10 に TomCat をインストールするチュートリアル図

>>:  Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

推薦する

PostgreSQL マテリアライズドビュープロセス分析

この記事は主にPostgreSQLマテリアライズドビューのプロセス分析について紹介します。サンプルコ...

backgroundImage を使用して画像カルーセルの切り替えを解決する詳細な説明

単一のDOMノードでカルーセルを実装するbackgroundImage を使用すると、複数の画像を追...

Windows (x86、64 ビット) で MySQL 5.7.17 無料インストール バージョンをアップグレードするための詳細なチュートリアル

Laravel 5.4 のデフォルトの utf8mb64 文字エンコーディングをサポートするには、M...

IEの送信フォームの記録履歴クリックリターン情報を実現するためのCSSスタイルコントロールはまだ残っています

これは主に CSS スタイルのコントロールと META タグです。コードをコピーコードは次のとおりで...

フレームウィンドウ間の関連付けとハイパーリンクのターゲット属性の使用を実装する方法

フレーム ウィンドウの関連付けを実現するには、次に示すように、ハイパーリンクの「ターゲット」ウィンド...

Linux での一般的なシェル スクリプト コマンドと関連知識

目次1. 覚えておくべき知識1. 変数タイプ2. シェル変数の説明3. シングルクォート、ダブルクォ...

UCenter ホームサイトに統計コードを追加

UCenter Homeは、ComsenzがリリースしたSNSサイト構築システムです。最新バージョン...

win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法

Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...

フロントエンドは画像を遅延ロードする方法を知っている必要があります(3つの方法)

目次1. 遅延読み込みとは何ですか? 2. 遅延読み込みを実装する🌄: 2.1 最初の方法: 2.2...

Dockerコンテナレイヤーの概念の詳細な説明

目次01 コンテナの一貫性02 レイヤーの概念03 レイヤードデザインの利点今日はコンテナ レイヤー...

HTML テーブル マークアップ チュートリアル (48): CSS で変更されたテーブル

<br />では、CSS 構文を巧みに使用してテーブルを美しくする方法を見てみましょう。...

Vue の双方向イベントバインディング v-model の原理についての簡単な説明

目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...

CSSテキストシャドウの徐々にぼやける効果の実装

テキストシャドウテキストに影を追加します。テキストとテキスト装飾に複数のシャドウを追加することができ...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...