メモ:ENUM型をフラグにするのどうなんだろうと思った件
tagomorisさんが書いたMySQL Casual Advent Calendar 2013の1日目の記事を読んで、なんとなくやってみた。深くは考えていないのでトラップがあるかも。
mysql> CREATE TABLE flg(id SERIAL, flg1 ENUM("1") NOT NULL); Query OK, 0 rows affected (0.06 sec) mysql> INSERT INTO flg(flg1) VALUES (0), (1), (2), (''), ('1'); Query OK, 5 rows affected, 3 warnings (0.00 sec) Records: 5 Duplicates: 0 Warnings: 3 Warning (Code 1265): Data truncated for column 'flg1' at row 1 Warning (Code 1265): Data truncated for column 'flg1' at row 3 Warning (Code 1265): Data truncated for column 'flg1' at row 4 mysql> SELECT * FROM flg WHERE flg1 = 0; +----+------+ | id | flg1 | +----+------+ | 1 | | | 3 | | | 4 | | +----+------+ 3 rows in set (0.00 sec) mysql> SELECT * FROM flg WHERE flg1 = 1; +----+------+ | id | flg1 | +----+------+ | 2 | 1 | | 5 | 1 | +----+------+ 2 rows in set (0.00 sec)