Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Sqlite确保输入数据的长度正确_Database_Types_Sqlite_Precision - Fatal编程技术网

Database Sqlite确保输入数据的长度正确

Database Sqlite确保输入数据的长度正确,database,types,sqlite,precision,Database,Types,Sqlite,Precision,我得到了一个很好的答案,但这带来了许多其他问题 假设我已经创建了一个表: CREATE TABLE test(my_id INTEGER(2)); 如何确保在其中插入数据(或从csv导入数据)时,字段正好是一个整数(2),而不是整数(1)或它将动态拉伸到的任何其他内容。。? 如果我不能,这是否没有内存/性能问题 谢谢 从CSV文件导入的所有值都是字符串(但可能会改变这一点) 要确保值在特定范围内,请添加显式约束: CREATE TABLE test( my_id INTEGER CH

我得到了一个很好的答案,但这带来了许多其他问题

假设我已经创建了一个表:

 CREATE TABLE test(my_id INTEGER(2));
如何确保在其中插入数据(或从csv导入数据)时,字段正好是一个整数(2),而不是整数(1)或它将动态拉伸到的任何其他内容。。? 如果我不能,这是否没有内存/性能问题


谢谢

从CSV文件导入的所有值都是字符串(但可能会改变这一点)

要确保值在特定范围内,请添加显式约束:

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

无论整数值是如何解相关的,整数值都存储在1、2、3、4、6或8字节中,这仅取决于值的大小。

是否有办法检查所有导入的csv值是否都是字符串?因为它似乎不是那样的,我可以对它们进行数字运算,而且它们是精确的…大多数数字运算会自动转换为数字。要检查类型,请使用函数。