web-dev-qa-db-ja.com

MySQLではUNIQUEインデックスで大文字と小文字が区別されますか?

インデックス(indexes)はMySQLで大文字と小文字を区別する一意として定義されていますか?

41
nickf

フィールドの照合順序によって異なります-ci(大文字と小文字を区別しない)またはcs(大文字と小文字を区別する)の場合。それに応じて、一意のインデックスが適用されます。

74
Eran Galperin

この構文を使用すると、列で大文字と小文字を区別できます。一意のインデックスでも大文字と小文字が区別されます。

ALTER TABLE tbl_name MODIFY
col_name column_definition
[CHARACTER SET charset_name]
[COLLATE collat​​ion_name]

例:

ALTER TABLE `tablename` MODIFY
`column` VARCHAR(100) 
CHARACTER SET utf8
COLLATE utf8_bin;

注: utf8_binは、文字列を文字列内の各文字のバイナリ値で比較します。

Msql5.5.Xでテスト済み

16
Hemerson Varela

UNIQUEインデックスには特別なことは何もありません。他のインデックスと同じ大文字と小文字のオプションに従います。

2
dkretz