facebook twitter hatena line email

Mysql/照合順序

提供: 初心者エンジニアの簡易メモ
2022年9月29日 (木) 03:59時点におけるAdmin (トーク | 投稿記録)による版 (照合順序変更)

移動: 案内検索

照合順序

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