【问题标题】:Sqlite column is getting assigned wrong data type valueSqlite 列被分配了错误的数据类型值
【发布时间】:2021-09-21 08:05:35
【问题描述】:

我在 sqlite 中有一个具有以下架构的表:

CREATE TABLE message(ITEM_ID TEXT, COUNTRY_ID TEXT, CODES INTEGER);

即使 CODES 是整数,我仍然可以将字符串数据插入到表中,如下所示:

insert into message values(124,'5','R')

我预计 sqlite 会出错。它不应该返回错误吗?

谢谢,

【问题讨论】:

  • @JoachimIsaksson 您能否将您的评论作为答案,我会将其标记为已接受。

标签: database sqlite text integer sqldatatypes


【解决方案1】:

SQLite 不以这种方式限制类型。 SQLite FAQ 有话要说;

SQLite 使用动态类型。它不强制执行数据类型约束。任何类型的数据都可以(通常)插入到任何列中。您可以将任意长度的字符串放入整数列、布尔列中的浮点数或字符列中的日期。您在 CREATE TABLE 命令中分配给列的数据类型不会限制可以将哪些数据放入该列。

这与(大多数)其他 SQL 数据库有所不同,您可能已经注意到,在测试您的数据库代码时需要格外小心。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 2014-11-10
    • 1970-01-01
    • 2012-08-24
    • 2014-01-15
    • 2012-02-09
    • 2018-06-11
    相关资源
    最近更新 更多