ホームページ >データベース >mysql チュートリアル >SQLiteで自動インクリメントされた主キーをリセットするにはどうすればよいですか?
SQLite での自動インクリメント主キーのリセット
DELETE FROM
を使用して SQLite テーブルからデータを削除するだけでは、自動インクリメント主キーは 1 にリセットされません。これを実現するには、次の 2 段階のプロセスが必要です。
<code class="language-sql">DELETE FROM your_table; DELETE FROM sqlite_sequence WHERE name = 'your_table';</code>
最初のステートメントはテーブルからすべての行を削除します。 2 番目の重要なステートメントは、sqlite_sequence
テーブルからエントリを削除します。このシステム テーブルは、自動インクリメント列を使用して各テーブルの最大の ROWID を追跡します。
SQLite の自動インクリメントメカニズムを理解する
SQLite は sqlite_sequence
を使用して自動インクリメントされる主キーを管理します。 AUTOINCREMENT
列を持つテーブルに新しい行が追加されると、SQLite は sqlite_sequence
を参照して既存の最大の ROWID を見つけ、それを増分します。
したがって、sqlite_sequence
を直接操作すると、自動インクリメント シーケンスに影響します。 変更を加える前に、慎重に作業を進め、潜在的な影響を十分に理解してください。
以上がSQLiteで自動インクリメントされた主キーをリセットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。