2010-06-26 24 views

Respuesta

20

En SQLite hay una tabla llamada SQLITE_SEQUENCE, que rastrea el mayor valor RowId que tiene una tabla. Puede insertar, actualizar y eliminar en esta tabla. Por ejemplo, para imitar la funcionalidad similar a la del TRUNCATE TABLE sentencia SQL Server que podría como algo:

DELETE FROM MyTableName; 
DELETE FROM SQLITE_SEQUENCE WHERE NAME = 'MyTableName'; 

En el ejemplo anterior se quita todos los datos de MyTableName y el rowid incremento automático se restablece mediante la eliminación del valor de la Tabla SQLITE_SEQUENCE. Consulte la documentación para AUTOINCREMENT para obtener más información.

+0

Gracias, funcionó a la perfección. Solo tuve que agregar un punto y coma al final de cada línea. – Mun

+0

Me sale un error que dice 'no such table SQLITE_SEQUENCE' ... – dialex

3
DELETE 
FROM MyTableName 

select * 
from SQLITE_SEQUENCE 

update SQLITE_SEQUENCE 
set seq = 0 
where name ='MyTableName' 
Cuestiones relacionadas