- February 26, 2008 1:06 PM
バイナリ型と、utf8_binaryの違い
[test]> create table t10(a int, b char binary, c char character set binary); Query OK, 0 rows affected (0.14 sec)[test]> show create table t10;
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t10 | CREATE TABLE `t10` (
`a` int(11) DEFAULT NULL,
`b` char(1) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`c` binary(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)
バイナリ型は、そのまま格納するので、たとえばUTF-8 4バイト文字がそのまま入る。
COLLATIONだけバイナリにした場合は、たとえばUTF-8 4バイト文字などは、エラーで弾かれる。(ストリクトモード時)