データベースのフィールドには、0、1、2 の 3 つの値しか含まれません。どのデータ型を使用すればよいのでしょうか。私はこれを見つけましたが、tinyint(1) を使用する必要があるようですが、範囲は -127 から 126 です。
質問する
98 次
3 に答える
5
tinyint(1) unsigned
おそらくこれにぴったりです
于 2012-05-30T16:30:51.523 に答える
0
推奨されませんが...私は当初、スペースが本当に大きな問題であるかどうかを考えていましたが、これは調査する価値があるかもしれません。
0、1、2ではなくNULL、0、1で動作できる場合は、ブール値/ビットも機能する可能性があります。
ただし、booleanとtinyintは実質的に同じように見えます。そして、tinyintはmysqlのすべてのデータ型の中で最小のフットプリントを持っています。リンクを参照してください。
于 2012-06-08T04:01:36.600 に答える
0
入力した数値が 0、1、または 2 であることを確認したい場合は、テーブルに CHECK 制約を追加するのが最善です。
ALTER TABLE
tableName
ADD CONSTRAINT
checkConstain
CHECK (columnName BETWEEN 0 and 2)
これがSQL Fiddelで動作する例を見ることができます
于 2012-06-30T18:28:45.113 に答える