私は素晴らしい答えを得た質問をしましたが、他の多くの質問をもたらしました.
テーブルを作成したとします。
CREATE TABLE test(my_id INTEGER(2));
そこにデータを挿入する(または実際にcsvからインポートする)ときに、フィールドがINTEGER(1)などではなく、正確にINTEGER(2)であることを確認するにはどうすればよいですか..?できない場合、これにメモリ/パフォーマンスの問題はありませんか?
ありがとう!
私は素晴らしい答えを得た質問をしましたが、他の多くの質問をもたらしました.
テーブルを作成したとします。
CREATE TABLE test(my_id INTEGER(2));
そこにデータを挿入する(または実際にcsvからインポートする)ときに、フィールドがINTEGER(1)などではなく、正確にINTEGER(2)であることを確認するにはどうすればよいですか..?できない場合、これにメモリ/パフォーマンスの問題はありませんか?
ありがとう!
CSV ファイルからインポートされたすべての値は文字列です (ただし、型のアフィニティにより変更される場合があります)。
値が特定の範囲内にあることを確認するには、明示的な制約を追加します。
CREATE TABLE test(
my_id INTEGER CHECK (my_id BETWEEN 0 AND 100)
);
宣言方法に関係なく、整数値は、値の大きさのみに応じて、1、2、3、4、6、または 8 バイトで格納されます。