0

mysql のデータ型の再評価について質問があります。

ステータスというテーブルに列があります

これらの値は、0 = 保留中、1 = アクティブ、2 = 拒否、3 = 一時停止、4 = 承認済み、5 = レビューになります。

私の質問は、使用するのに最適なデータ型は何ですか。は

Char(1)
Tinyint(1)
SmallINT(1)
INT(1)

それらのどれを使用するのが最適ですか。

私はこれを調査して見つけましたが、正しい答えはありません。

ご意見をお聞かせください。

ありがとうございました

4

2 に答える 2

1

私は、データベース テーブル内にコードを配置するのがあまり好きではありません。新しいステータスが追加されるとどうなりますか?

status というルックアップ (子) テーブルを作成できます。ステータスに可能なすべての値を挿入してから、親テーブルとの非識別関係を設定します。

ステータスをドロップダウン コントロールで並べ替える必要があるという特別な順序 (アルファベット順以外) がある場合は、並べ替え可能な列を追加します。

于 2012-01-30T21:42:06.577 に答える
1

許可されている値がこれらの 5 つだけである場合は、1 バイトのデータ型である tinyint を使用します。これにより、0 ~ 255 (符号なし)/-128 ~ +127 の符号付き範囲が得られます。

数値データの格納に chars を使用しないでください。それがテキストタイプです。

または、 ENUMフィールドを使用することもできます。これにより、単純な数字の代わりに「わかりやすい」名前を使用できます。

于 2012-01-30T21:32:42.080 に答える