回答

收藏

SQLite重置关键字段

技术问答 技术问答 269 人阅读 | 0 人回复 | 2023-09-14

我在SQLite有一些表,我试图找出如何重置自动增加的数据库字段。
: E  F. J, Q1 Q我读到DELETE FROM tablename删除所有内容并将其删除auto-incrementment字段重置为0,但只删除数据。插入新记录后,自动增量将从删除前的中断提取。& K  s" n* D5 l9 x' B5 f9 f
我的ident字段属性如下:
3 Q, m! ]. Q) `8 p# k! z; J  p栏位类型:integer
* f/ o0 b2 Y/ @  j字段标志:PRIMARY KEY,AUTOINCREMENT,UNIQUE/ A. `! ?# R6 e3 w- T+ U
我在SQLite Maestro建立表并在SQLite Maestro中执行DELETE句子也有关系吗?
任何帮助都将是巨大的。+ ]/ C0 P) o/ ]  [1 `2 G& c
                                                                5 ^* L. w9 D7 `5 K& n
    解决方案:                                                               
+ O8 x+ F4 N& Y                                                                试试这个:3 {* [& I* P, _1 ?/ r6 `) J$ ?: E7 F
delete from your_table;    delete from sqlite_sequence where name='your_table';SQLite自动增量3 N' V# G, B6 P0 U+ ~5 Q
SQLite使用特殊SQLITE_SEQUENCE表跟踪表曾经拥有最大的ROWID 。SQLITE_SEQUENCE包括每次创建AUTOINCREMENT列的普通表时,都会自动创建并初始化该 表。可以使用普通的UPDATE,INSERT和DELETE语句修改SQLITE_SEQUENCE表的内容。但修改此表可能会干扰AUTOINCREMENT密钥生成算法。请确保你知道你在做什么,然后再做这样的改变。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则