ID を特定の auto_increment 開始値に設定するために、別のテーブルのデータを含むテーブルを作成したいと考えています。
これは、別のテーブルからのデータを入力したいテーブルです。
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| city | varchar(255) | YES | | NULL | |
| state | varchar(255) | YES | | NULL | |
| state_id | int(11) | YES | | NULL | |
| city_slug | varchar(255) | YES | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
このクエリを実行した後:
alter table table_temp auto_increment = 40499;
ダミーの挿入を行う場合:
insert into table_temp (city, state, state_id, city_slug) values (1, 1, 1, 1);
期待どおりに動作します。つまり、ID は値 40499 で始まります。
select * from table_temp;
+-------+------+-------+----------+-----------+
| id | city | state | state_id | city_slug |
+-------+------+-------+----------+-----------+
| 40499 | 1 | 1 | 1 | 1 |
+-------+------+-------+----------+-----------+
テーブルを切り捨て、auto_increment のテーブル変更クエリを再度実行した後、同じテーブルに別のテーブルのデータを入力しようとしました。
insert into table_temp (city, state, state_id, city_slug) select city, state, state_id, city_slug from final_location;
ただし、id はデフォルトの id 値 1 で始まります。
select * from table_temp limit 10;
+----+---------+---------+----------+-------------------+
| id | city | state | state_id | city_slug |
+----+---------+---------+----------+-------------------+
| 1 | Abatiá | Paraná | 242 | all-cidade-abatia |
+----+---------+---------+----------+-------------------+
これを修正する方法について何か提案はありますか?