「Mysql/照合順序」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→照合順序変更) |
(→照合順序変更) |
||
行24: | 行24: | ||
項目単位での変更 | 項目単位での変更 | ||
ALTER TABLE table1 MODIFY column1 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8_general_ci; | ALTER TABLE table1 MODIFY column1 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8_general_ci; | ||
+ | |||
+ | ==検証== | ||
+ | テーブル作成 | ||
+ | <pre> | ||
+ | CREATE TABLE `words` ( | ||
+ | `id` int NOT NULL AUTO_INCREMENT, | ||
+ | `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL, | ||
+ | PRIMARY KEY (`id`) | ||
+ | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin | ||
+ | </pre> |
2022年9月29日 (木) 03:59時点における版
照合順序
collation-serverが
utf8mb4_unicode_ci のとき以下が区別されない
- 大文字と小文字
- 全角と半角
- 平仮名と片仮名
- 濁点の有無
utf8mb4_bin のとき以下が区別される
- 大文字と小文字
- 全角と半角
- 平仮名と片仮名
- 濁点の有無
参考:http://taustation.com/mysql-collate/
照合順序変更
db単位での変更
ALTER DATABASE db1 COLLATE 'utf8_general_ci'
テーブル単位での変更
ALTER TABLE table1 COLLATE 'utf8_general_ci';
項目単位での変更
ALTER TABLE table1 MODIFY column1 VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
検証
テーブル作成
CREATE TABLE `words` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin