gpt4 book ai didi

SQLite3 : How to modify fileds'type without data loss

转载 作者:行者123 更新时间:2023-12-03 16:23:58 26 4
gpt4 key购买 nike

在我的项目中,我使用了一个 sqlite 数据库,不幸的是我的 friend 犯了一个错误。字段类型不正确。
因此,当字段“localid”(声明为整数)中的数据大于 2147483647 时,该字段中的所有条目都设置为最大值 2147483647。

alter table/alter column sql 请求不适用于 sqlite,因为它支持 ALTER TABLE 的有限子集:仅重命名和添加新列。

那么如何在不丢失数据的情况下进行更改呢?正确创建一个新数据库,将所有数据复制到其中并删除旧的?

但也许有更好的方法?有人有想法吗?

最佳答案

像这样进行:

  • 创建包含构成主要字段的临时表
    key 和 localid(我认为这不是 PK)。
  • 填充临时表
  • 掉旧专栏
  • 添加新栏目
  • 通过从临时表中选择来填充新列(+ 可能转换为新类型)。

  • 如果这样使用列,请不要忘记可能的外键,并记住如果它使转换顺利(可能不需要在您的情况下)暂时放松约束的可能性。

    关于SQLite3 : How to modify fileds'type without data loss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530320/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com