据我了解,sqlite的数据类型与其列无关,而与数据本身相关:这实际上意味着您可以将任何数据插入任何列。
有可能禁止这种行为吗?我的意思是,例如,当我不小心尝试将文本插入整数时,我希望sqlite引发错误(或至少警告)。
最佳答案
您可以使用CHECK约束和typeof()来检查实际的数据类型:
CREATE TABLE MyTable (
Col1 INTEGER CHECK (typeof(Col1) = 'integer'),
Col2 TEXT CHECK (typeof(Col2) IN ('text', 'null')
);
关于sqlite - 是否可以强制执行SQLite数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49230311/