私は、どのようにenumをmysqlで使用できるかを理解しようとしています。 enum型以外の列挙型フィールドに何かを挿入すると、mysqlは空の文字列(値0)を挿入します。MySQLの空の値enums
- フルーツENUM( 'APPLE'、 'BANANA'、 'PEACH');
- INSERT ...フルーツ= 'BANNANA'
シンプルなスペルミスとMySQLは、空の値を挿入し、データベースの整合性を破壊し、列挙型は非常に無駄になります。
CHECK制約は、ここに助けることができるが、MySQLは
私が見る唯一の方法は、空の文字列を防ぐためにトリガを書くことである(2011年「最も人気のある」データベースのかなり面白いし)、それらをサポートしていませんが、それは多すぎますそのような単純なケースのためにトリガを書く作業。
enumの「空文字列」MySQLの動作を無効にする方法はありますか?
おかげ