やりたいことは、例えば,1~100まで、データをいれて、auto_increment は、101 から始まる状態で、91~100までを削除して91から auto_increment が始まるようにしたいのです。可能なのでしょうか?
テストコードを書いてみた! ALTER TABLE を抜いた場合と入れた場合で比較してみて!!
CREATE TEMPORARY TABLE a (k INT NOT NULL AUTO_INCREMENT PRIMARY KEY, d INT); INSERT INTO a(d)VALUES(1),(2),(3),(4),(5); DELETE FROM a WHERE k = 5; ALTER TABLE a AUTO_INCREMENT=5; INSERT INTO a(d)VALUES(11),(12),(13),(14),(15); SELECT * FROM a;
URL必須だけど! 今回はあんまり関係ない!! お暇なら見てよね!
テストコードを書いてみた! ALTER TABLE を抜いた場合と入れた場合で比較してみて!!
CREATE TEMPORARY TABLE a (k INT NOT NULL AUTO_INCREMENT PRIMARY KEY, d INT); INSERT INTO a(d)VALUES(1),(2),(3),(4),(5); DELETE FROM a WHERE k = 5; ALTER TABLE a AUTO_INCREMENT=5; INSERT INTO a(d)VALUES(11),(12),(13),(14),(15); SELECT * FROM a;
URL必須だけど! 今回はあんまり関係ない!! お暇なら見てよね!
テストコード書いてくれるとありがたいです。バージョンはいろんな場合があるので、テストコードがあると確実に確認できていいです。
MySQLの質問をする場合は、バージョンを明記するようにしてください。
MySQL 5.1では、ALTER TABLEで再設定可能です。
ALTER TABLE 表名 AUTO_INCREMENT=91
お使いのバージョンでも使用かのうか、確認してみてください。
4でもできるみたいです。マニュアルには書いていないようです。
mysqlのコマンドからでしたら以下のように設定できます。
$ mysql -u [ユーザ名] -p mysql> use [データベース名]; mysql> alter table [テーブル名] auto_increment=[設定値]; mysql> quit
書いていないけど、4でもできるみたいですね。
テストコード書いてくれるとありがたいです。バージョンはいろんな場合があるので、テストコードがあると確実に確認できていいです。