1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

開発中に MySQL でテーブルの値の追加・削除を繰り返していると AUTO_INCREMENT の値がどんどん増えていくので、たまにリセットしたくなります。
この記事では、そのようなときに MySQL で AUTO_INCREMENT をリセットする方法について記載します。

開発環境

開発環境は以下の通りです。

  • Windows11
  • MySQL 8.0.33

方法1:TRUNCATE を利用する

TRUNCATE を利用すると、テーブル内の全てのレコードを削除することができ、 AUTO_INCREMENT もリセットされます。

TRUNCATE TABLE tbl_name;

ただ、TRUNCATE では、ロールバックができないため。利用時は注意が必要です。

DELETE でもテーブル内のレコードを削除できますが、AUTO_INCREMENT はリセットされません。

方法2:DELETE と ALTER TABLE を利用する

上記の通り TRUNCATE では、ロールバックができません。また、DELETE だと AUTO_INCREMENT はリセットされません。
しかし、DELTE を実行した後、ALTER TABLE を利用すれば、 AUTO_INCREMENT をリセットすることができます。

DELETE FROM tbl_name;
ALTER TABLE tbl_name AUTO_INCREMENT = 1;

まとめ

  • 何も気にせずはやく削除したい:TRUNCATE を利用する
  • ロールバックできるようにしておきたい:DELETE と ALTER TABLE を利用する

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?