テーブルtbphotos
には100個のレコードがありました。その後、すべてのレコードを削除しましたが、データ入力を再開したいので、主キーが1から開始されず、101から開始することがわかります。
主キーをリセットする方法はありますか?
MySQL管理者アカウントを使用しています。
alter table foo AUTO_INCREMENT = 1
次のように自動インクリメントをリセットできます。
ALTER TABLE tablename AUTO_INCREMENT = 1
しかし、自動インクリメント値に依存している場合、プログラムは非常に脆弱です。プログラムが機能するためにレコードに連続した番号を割り当てる必要がある場合は、そのために別の列を作成し、この目的のためにデータベースの自動インクリメントIDを使用しないでください。
手動でレコードを削除する代わりにTRUNCを使用すると、主キーがリセットされます。
以下のコードは、データベースにデータが既にあるが、データを削除せずにIDを1からリセットしたい場合に最適です。 SQLコマンドでコピーして実行
ALTER TABLE members DROP ID;
ALTER TABLE members AUTO_INCREMENT = 1;
ALTER TABLE members ADD ID int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;