看来,当我使用SQLite Manager下“结构”页面上的“编辑列”命令修改表中的列定义(而不是主键列)时,sqlite3从其sqlite_sequence表中删除了该表名。我尝试手动将其重新添加,但是发现在丢失的表中添加时,seq编号没有更新。
有人知道如何恢复丢失的表名吗?
最佳答案
sqlite_sequence documentation说:
如果将AUTOINCREMENT表的sqlite_sequence.seq值手动设置为整数以外的其他值,并且随后尝试插入或更新AUTOINCREMENT表,则该行为未定义。
然而:
如果在更新AUTOINCREMENT表时不存在AUTOINCREMENT表的sqlite_sequence行,那么将创建一个新的sqlite_sequence行。
因此,您不应在sqlite_sequence中添加“假”条目,但可以更改它(如果存在)。
关于sqlite - 我在sqlite_sequence表中丢失了一个表名。如何恢复它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12495180/