Tul*_*ova 5 sqlite debugging error-handling data-consistency
SQLite的有这个"功能",而即使当您创建类型的列INTEGER或REAL,它允许你插入一个字符串到它,即使没有这数字的字符串,如"快跳下狐狸在懒狗".
你如何防止在你的项目中发生这种插入?
我的意思是,当我的代码有一个导致这种插入或更新的错误时,我希望程序发出错误,所以我可以调试它,而不是简单地在我的数据库中静默插入垃圾.
您可以使用CHECK约束来实现此功能(请参阅此处的上一个答案).这看起来像
CREATE TABLE T (
N INTEGER CHECK(TYPEOF(N) = 'integer'),
Str TEXT CHECK(TYPEOF(Str) = 'text'),
Dt DATETIME CHECK(JULIANDAY(Dt) IS NOT NULL)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |