Mun*_*Mun 12 sql t-sql sqlite identity-column
是否可以在SQLite数据库中重新设置自动增量列,如果是这样,这是如何完成的?
即.相当于DBCC CHECKIDENT ('MyTable', RESEED, 1)
SQL Server.
Gar*_*ett 22
在SQLite中有一个名为SQLITE_SEQUENCE的表,它跟踪RowId
表所具有的最大值.您可以在此表上执行插入,更新和删除操作.例如,要模仿与TRUNCATE TABLE语句SQL Server类似的功能,您可以这样:
DELETE FROM MyTableName;
DELETE FROM SQLITE_SEQUENCE WHERE NAME = 'MyTableName';
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,将删除MyTableName中的所有数据,并通过从SQLITE_SEQUENCE表中删除值来重置自动增量rowid.有关更多信息,请参阅AUTOINCREMENT的文档.
小智 6
DELETE
FROM MyTableName
select *
from SQLITE_SEQUENCE
update SQLITE_SEQUENCE
set seq = 0
where name ='MyTableName'
Run Code Online (Sandbox Code Playgroud)