1

次のようなインデックス付き ID を持つテーブルがあります。

ID Name
1  abc
2  def
4  ghi
9  jkl
10 mno
11 xyz

この例では、AUTO_INCREMENT値は12です。

ID 10 と 11 の 2 つの行を削除すると、ALTER TABLEtable_nameは AI 値を10AUTO_INCREMENT=1にリセットしますか、それとも AI 値を3に設定しようとしてテーブルが壊れますか?

すべての場合において、次に使用可能なシーケンスに値を設定する標準の AI リセットを設定しようとしています。

クエリステートメントを設定する正しい方法を確認していただきありがとうございます。

4

2 に答える 2

0

もちろん、ALTER TABLEを使用します。

ALTER TABLE テーブル名 AUTO_INCREMENT = 1;

ただし、使用されている最大値未満にリセットすることはできません。そのため、ALTER TABLE DROP COLUMNを使用して列を削除し、ALTER TABLE ADD COLUMN [col] AUTO INCREMENT で再度追加する必要があります。ただし (MySQL には常に警告があります)、テーブルが NDB エンジンを使用している場合、これは機能しません。

于 2013-05-10T19:10:16.380 に答える
0

ALTER TABLE table_name AUTO_INCREMENT=1私が望んでいたことをしました。

于 2013-05-10T19:16:29.723 に答える