【问题标题】:SQLite typlessness and PRIMARY KEY changeSQLite 无类型和 PRIMARY KEY 更改
【发布时间】:2018-01-05 14:23:56
【问题描述】:

出于某种原因,在搜索数据类型时,出现了 SQLite 2 文档SQLite 2 documentation on typlessness,我阅读了关于无类型的信息。后来我意识到版本 2 的最后一个版本是在 2004 年。然后我搜索了版本 3 的文档SQLite 3 documentation 并意识到“无类型”这个词没有出现,但似乎该功能在版本 3 中得到了维护。有吗术语现在从“无类型”转换为“动态类型”?

另外,我尝试更改测试数据库中的主键 [版本 2 的文档说我不能],我能够更改它。

那么 SQLite 3 就不是无类型的了吗,SQLite3 中可以更改主键吗?


编辑:感谢 Varro,我尝试了以下操作,并且能够看到我无法将字符串作为 id 输入。我还尝试插入一个额外的行,并且自动添加的 id 是 11 而不是 2,即使编号从 1 开始但更改为 10。所以似乎 SQLite 在选择下一行应该编号的内容之前检查前一个整数。

【问题讨论】:

    标签: sql database sqlite sqlite2


    【解决方案1】:

    通常(除非显式约束),您可以将任何类型的值插入 SQLite 中的任何列,但一个值得注意的例外是,如果您声明列 INTEGER PRIMARY KEY,这意味着它是内部(整数)的别名) 行标识。请注意,您更改了上面示例中主键的 value 而不是 type。这是合法的(只要新值是唯一的),但将其更改为例如 'abc' 是不合法的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 2015-10-24
      • 2011-04-20
      相关资源
      最近更新 更多