2010-06-26 36 views

Trả lời

20

Trong SQLite có một bảng có tên là SQLITE_SEQUENCE, theo dõi giá trị RowId lớn nhất mà một bảng có. Bạn có thể chèn, cập nhật và xóa trên bảng này. Ví dụ, để bắt chước chức năng tương tự như các TRUNCATE TABLE SQL Server bạn có thể cái gì đó như:

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

Trong ví dụ trên tất cả các dữ liệu từ MyTableName được lấy ra, và rowid increment tự động được thiết lập lại bằng cách loại bỏ các giá trị từ Bảng SQLITE_SEQUENCE. Xem tài liệu cho AUTOINCREMENT để biết thêm thông tin.

+0

Cảm ơn, điều đó đã hoạt động hoàn hảo. Chỉ cần thêm dấu chấm phẩy vào cuối mỗi dòng. – Mun

+0

Tôi gặp lỗi khi nói 'không có bảng SQLITE_SEQUENCE' nào ... – dialex

3
DELETE 
FROM MyTableName 

select * 
from SQLITE_SEQUENCE 

update SQLITE_SEQUENCE 
set seq = 0 
where name ='MyTableName' 
Các vấn đề liên quan