いくつかの異なるテーブルを持つSQLiteデータベースがあります。自動インクリメント ID を維持しながら、これらのテーブルの 1 つを切り捨てたい (すべての行を削除したい)。
長い道のり:
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 では、自動インクリメントがデフォルトで最後の値を保持していると思います (私は最近、正反対の値が欲しかったのです :) したがって、すべての行を削除するだけで問題ありません。
お役に立てれば!