次の構造のdbテーブルがあります
- id
- 事業
- カテゴリー
- スコア
'score'セルは、次の値のみを持つことができます。
- '' (空欄)
- -1
- 0
- 1
プロジェクトIDに基づいてクエリを実行したときに合計スコアを取得できるようにするには、「スコア」値を格納するためにどのフィールドタイプを使用する必要がありますか?ENUM?
次の構造のdbテーブルがあります
'score'セルは、次の値のみを持つことができます。
プロジェクトIDに基づいてクエリを実行したときに合計スコアを取得できるようにするには、「スコア」値を格納するためにどのフィールドタイプを使用する必要がありますか?ENUM?
数値に使用しないのはなぜですかTINYINT
(変換は必要ありません)。
Score
=======
0
1
2
3
フォローアップの質問、なぜ空の行または空白が必要なのですか?
読みやすさの理由から、むしろ ENUM を使用したいと思います。後になって、テーブルの数字 3 または 0 が正確に何を意味するのかを理解するのは難しいかもしれませんが、ENUM 値の適切な名前があれば、1 年後でも簡単に識別できます。
加えて。ENUM の要素数が 255 未満の場合、ENUM は tinyint と同じバイト数 (1) を使用します。