現在の自動インクリメント値は、テーブルに付加された余分な属性を介してバックアップ/リストア全体で保持されます。あなたが「=表tableNameのAUTO_INCREMENTをALTER」を使用して、それをリセットすることができ
mysql> create table foo (bar int(11) primary key auto_increment);
Query OK, 0 rows affected (0.06 sec)
mysql> insert into foo() values(),(),(),();
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> show create table foo \G
*************************** 1. row ***************************
Table: foo
Create Table: CREATE TABLE `foo` (
`bar` int(11) NOT NULL auto_increment,
PRIMARY KEY (`bar`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
が、それがない場合は、属性値が無視され のように、それは私になります。あなたはENGINE =の後にダンプにそれを見ることができますあなたが挿入を行うときの最大の既存のIDよりも大きい。
いつリセットすればよいですか?それは私がコマンドでやることか、何かの副作用として起こることができますか? – flybywire
さて、これは起こりそうなことではありませんが、mysqlのさまざまなsqlコマンドで可能です。 – thr
リセットするタイミングが不明な場合は、リセットしないでください。自動的に生成されたIDは、意味のあるものでも再利用可能なものでもありません。 – tehvan