我asked a question我得到了一个很好的答案,但带来了许多其他问题。
说我创建了一个表:
CREATE TABLE test(my_id INTEGER(2));
如何确保在那里插入数据(或从csv进行任意修改)时,该字段恰好是INTEGER(2),而不是INTEGER(1)或其他任何动态延伸到...的字段? 如果我不能没有内存/性能问题吗?
谢谢!
答案 0 :(得分:2)
从CSV文件导入的所有值都是字符串(但type affinity可能会更改)。
要确保值在特定范围内,请添加显式约束:
CREATE TABLE test(
my_id INTEGER CHECK (my_id BETWEEN 0 AND 100)
);
无论它们是如何分解的,整数值都存储在1,2,3,4,6或8个字节中,具体取决于值的大小。