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 のインストールと展開に関する詳細なチュートリアル

推薦する

VMware Workstationはデバイス/資格情報ガードと互換性がありません

仮想マシンをインストールするときに、「VMware ワークステーションはデバイス/資格情報ガードと互...

ライフゲームの JavaScript 実装

目次コンセプト紹介論理的ルール完全なコード主な実装コンセプト紹介セルオートマトンとは、コンピュータの...

vue.js ルーターのネストされたルート

序文:ルートでは、主要部分は同じでも、基礎となる構造が異なることがあります。たとえば、ホームページに...

ソースコードから MySQL 8.0.20 をコンパイルしてインストールする詳細なチュートリアル

前回の記事では、次のことを紹介しました。 MySQL8.0.20 インストール チュートリアルとイン...

より人気がありクリエイティブなダーク背景のウェブデザインの例

暗い背景スタイルのページ デザインは非常に人気があり、シックでエレガント、そして非常にクリエイティブ...

異なるページ間のJavaScriptデータ転送(URLパラメータ取得)

Web ページでは、あるページに情報を入力すると、別のページにジャンプし、入力した情報が別のページ...

Linux サーバーのスクリプトを自動的にバックアップする方法 (mysql、添付ファイルのバックアップ)

1.backup.shスクリプトファイルを作成する #!/bin/sh ソースフォルダ=/データ ...

tomcat ログ ディレクトリ内のログ ファイルの分析 (概要)

tomcat が起動されるたびに、次のログ ファイルがログ ディレクトリに自動的に生成され、日付順...

VMware での Ubuntu と Windows 間のファイル共有

この記事では、VMware 環境下で Ubuntu と Windows 間でファイルを共有する方法を...

MySQL 8.0.23 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

この記事では、MySQL 8.0.23のインストールと設定方法を参考までに紹介します。具体的な内容は...

Vueスロットの使用の詳細

目次1. スロットを使用する理由1.1 スロット1.2 コンポーネントのスロット1.3 例2. この...

タグのターゲットリンクを iframe に向ける方法

コードをコピーコードは次のとおりです。 <iframe id="myFrameId&...

Vue2/vue3 ルーティング権限管理方法の例

1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...

CSS 手法を使用してモジュール性を実現する例

1. CSS 方法論とは何ですか? CSS methodologiesデザイン パターンまたは CS...

MySQL で複数のテーブルにビューを作成する方法

MySQLでは、2つ以上のベーステーブルにビューを作成します。学生テーブルとstu_infoテーブル...