2016-07-08 8 views
1

私はセントOS 6.5とMySQL 5.1.73を使用していると私は、データベース名とテーブル名とを知っても、列名がCentOSでMySQLの列名の大文字小文字を区別しないようにするには?

は今、私はセントのOSでの大文字と小文字を区別しないでMySQLの仕事をしたいセントOSで大文字と小文字が区別されます。

以下のリンクを試してみました。しかし、私は、テーブルの列名

How to force case sensitive table names?

ことが可能ですため、大文字と小文字を区別する必要がありますか?はいの場合、どうすればいいですか?

+0

_Now、私はセントOSで大文字と小文字を区別しないで動作させるようにします。 –

+0

私は自分のサーバーにたくさんのテーブルを持っています。これらのうちのいくつかは大文字小文字を区別しません。それらのうちのいくつかはCAPSであり、そのうちのいくつかは小文字なので、私はすべてを変更する必要があります。私のために多くの時間を節約することができる –

答えて

1

作成するテーブルのタイプによって異なります。 文字列(CHAR、VARCHAR、TEXT)の場合、文字列検索は比較オペランドの照合を使用します。 exempleため

http://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html

テーブルの照合順序が_ci utf8_general_ciある場合は他の照合utf8_generalが

大文字と小文字の区別はあなたが簡単にアップデートを使用して、テーブルの照合順序を変更することが可能である

小文字を区別しない場合を示しています。大文字小文字を区別しないTABLEの

例(utf8_general_ci)CASE SENSITIVE TABLE(utf8_general)の

CREATE TABLE `test` (
`id` VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , 
`value1` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL 
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci 

例もここにhttps://dev.mysql.com/doc/refman/5.7/en/charset-syntax.html説明したように、あなたはデフォルトのcollactionを変更することができますしたい場合

CREATE TABLE `test` (
`id` VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL , 
`value1` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general NOT NULL 
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general 

キャラクタセットと照合のデフォルト設定は、サーバー、データベース、テーブル、および列の4つのレベルです。

0

編集MySQL設定ファイル(my.cnfファイル)、[mysqldを]下= 1はlower_case_table_namesを加えます。 mysqlサービスを再起動すると、問題が修正されます。

関連する問題