我有一个包含几个不同表的SQLite数据库。我想截断这些表之一(删除所有行),同时保留自动增量 ID。
漫长的道路:
SELECT id FROM data ORDER BY id DESC LIMIT 1
DELETE FROM data
ALTER TABLE data AUTO_INCREMENT={value from first query}
有没有更短/更好的方法?
除非您使用设置为 AUTOINCREMENT 的主键创建表,否则该表将以 ID 1 重新开始。
请从这里阅读更多关于 SQLite 中的 AUTOINCREMENT 的信息: http ://www.sqlite.org/autoinc.html
我相信自动增量在 MySQL 5 中默认保留最后一个值(我最近想要相反的 :) 所以你应该可以删除所有行。
希望这可以帮助!