ホームページ >データベース >mysql チュートリアル >MySQL で AUTO_INCREMENT 値をリセットするにはどうすればよいですか?

MySQL で AUTO_INCREMENT 値をリセットするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-22 20:31:11945ブラウズ

How Do I Reset the AUTO_INCREMENT Value in MySQL?

MySQL AUTO_INCREMENT カウンタ リセット

このガイドでは、MySQL テーブル列の AUTO_INCREMENT カウンタをリセットする方法について説明します。 次の SQL コマンドはカウンターを 1 にリセットします:

<code class="language-sql">ALTER TABLE tablename AUTO_INCREMENT = 1;</code>

tablename をテーブルの実際の名前に置き換えます。

さまざまなストレージ エンジンの影響

このコマンドの動作は、テーブルのストレージ エンジンによって異なります。

  • InnoDB: 列内の既存の最大値より低い AUTO_INCREMENT 値を設定することはできません。 そうしようとしても効果はありません。カウンタは変更されず、エラーは報告されません。
  • Aria: AUTO_INCREMENT を任意の値に設定できますが、次回の挿入では引き続き次に使用可能な値 (最大 1) が使用され、手動で設定した値は事実上無視されます。
  • MyISAM: 新しい AUTO_INCREMENT 値が既存の最大値以下の場合、現在の最大値に 1 を加えた値に設定されます。

動的 AUTO_INCREMENT リセット

動的リセット (例: 別のテーブルの最大値に基づく) の場合は、次のクエリを使用します。

<code class="language-sql">ALTER TABLE tablename AUTO_INCREMENT = (SELECT MAX(column_name) FROM other_table) + 1;</code>

これにより、AUTO_INCREMENT が column_nameother_table の最大値より 1 つ大きい値に設定されます。 tablenamecolumn_nameother_table を必ず特定のテーブル名と列名に置き換えてください。

以上がMySQL で AUTO_INCREMENT 値をリセットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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