1

私は素晴らしい答えを得た質問をしましたが、他の多くの質問をもたらしました.

テーブルを作成したとします。

 CREATE TABLE test(my_id INTEGER(2));

そこにデータを挿入する(または実際にcsvからインポートする)ときに、フィールドがINTEGER(1)などではなく、正確にINTEGER(2)であることを確認するにはどうすればよいですか..?できない場合、これにメモリ/パフォーマンスの問題はありませんか?

ありがとう!

4

1 に答える 1

2

CSV ファイルからインポートされたすべての値は文字列です (ただし、型のアフィニティにより変更される場合があります)。

値が特定の範囲内にあることを確認するには、明示的な制約を追加します。

CREATE TABLE test(
    my_id INTEGER CHECK (my_id BETWEEN 0 AND 100)
);

宣言方法に関係なく、整数値は、値の大きさのみに応じて、1、2、3、4、6、または 8 バイトで格納されます。

于 2013-06-25T06:07:06.183 に答える