插入不正确的类型时,sqlite会自动将字符串转换为整数

时间:2014-01-15 04:06:11

标签: string sqlite integer

我正在做一些基本的sqlite。我有一个名为A. 2元组的关系,名为C,D。元组接受整数值。但是当我尝试插入字符串值时,sqlite仍然接受它们

表示exp:

插入A值('1','2');

上面的sql语句执行成功。那么sqlite会自动将'string'类型的值转换为整数值吗?换句话说,sqlite不会检查元组的约束

1 个答案:

答案 0 :(得分:2)

SQLite使用dynamic typing;它会接受任何类型的值。

如果您确实希望数据库检查类型,请添加CHECK约束:

CREATE TABLE A(
    C INTEGER CHECK(typeof(C) = 'integer'),
    D INTEGER CHECK(typeof(D) = 'integer')
);