sqlite - 是否可以强制执行SQLite数据类型?

标签 sqlite

据我了解,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/

相关文章:

ios - 实体的核心数据可选属性如何工作?

java - 我被作业困住了,无法在 sqlite 数据库 android 中保存图像路径

android - 检索变量中的列数据时出现游标索引错误

sqlite - 无法找到 Mono.Data.Sqlite 库

python - 更改数据库后 Django 上的内部服务器错误

python - "sqlite"和 "pysqlite2/sqlite3"模块有什么区别?

android - 如何有效地使用 ormlite 在 android sqlite 数据库中插入批量数据

c++ - 为什么 SQLite 不让我查询特定的 ATTACHED 数据库?

sql - 根据路径在关闭表中查找记录

database - 纯文本数据库文件的最佳分隔符/定界符是什么?