ホームページ >データベース >mysql チュートリアル >MySQL テーブル名では、あるシステムでは大文字と小文字が区別されるのに、別のシステムでは区別されないのはなぜですか?

MySQL テーブル名では、あるシステムでは大文字と小文字が区別されるのに、別のシステムでは区別されないのはなぜですか?

DDD
DDDオリジナル
2024-12-24 05:27:14179ブラウズ

Why Are My MySQL Table Names Case-Sensitive on One System But Not Another?

MySQL テーブル名の大文字と小文字の区別

この質問は、2 つの異なる環境でテーブル名の大文字と小文字が異なる開発者から提起されました。 Windows 開発マシンではすべてのテーブルが小文字でしたが、Ubuntu テスト サーバーではテーブル名が大文字で始まりました。

ほとんどの場合、大文字と小文字の区別の違いはオペレーティング システムによるものではなく、オペレーティング システムによるものです。 MySQL 自体。

オペレーティング システムの役割:

一般に、データベース名とテーブル名は、 Windows では大文字と小文字が区別されますが、Unix のほとんどのバージョンでは大文字と小文字が区別されます。 MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応し、データベース内のテーブルはデータベース ディレクトリ内のファイルに対応します。したがって、基礎となるオペレーティング システムの大文字と小文字の区別は、データベース名とテーブル名の大文字と小文字の区別に影響します。

構成オプション:

MySQL には、構成オプション が用意されています。 lower_case_table_names を使用すると、テーブル名をディスクに保存する方法を制御できます。このオプションは次のように設定できます:

  • 0 (デフォルト): テーブル名は、CREATE TABLE ステートメントで指定された大文字と小文字で保存されます。
  • 1: テーブル名は小文字に変換されます。
  • 2: テーブル名はディスク上で大文字に変換されます。

lower_case_table_names を適切に設定することで、大文字と小文字を制御できます。オペレーティング システムに関係なくテーブル名の機密性を設定します。詳細については、[識別子の大文字と小文字の区別](https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html) に関する MySQL ドキュメントを参照してください。

以上がMySQL テーブル名では、あるシステムでは大文字と小文字が区別されるのに、別のシステムでは区別されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。