ホームページ >データベース >mysql チュートリアル >SQLiteで自動インクリメントされた主キーをリセットするにはどうすればよいですか?

SQLiteで自動インクリメントされた主キーをリセットするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-15 14:27:44798ブラウズ

How to Reset an Auto-Incremented Primary Key in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。