mysql の自動インクリメント ID を初期化する場合は、直接実行できます。
alter table testTable drop id;
alter table testTable add id bigint primary key not null auto_increment first;
外部キーのないテーブルは、この方法で元のデータに影響を与えることなく直接操作でき、追加後は自動的に ID が増加して元のデータをカバーします。
テーブル testTable に外部キーの関連付けがあり、メイン テーブル (example_table) とセカンダリ テーブル (example_table_ext) が ID (example_table_id) として同じフィールドを使用する場合。
その後、mysql は主キーを削除するときに次のエラーを報告します: MySQL Cannot drop index needed in a foreign key constraint。
このとき、以下の手順に従ってください
セカンダリテーブルに関連付けられた外部キーを削除します。
セカンダリテーブルの自動インクリメントIDを削除し、
セカンダリ テーブルの自己インクリメント ID を追加します。
メインテーブルの自動インクリメントIDを削除し、
メインテーブルの自動インクリメントIDを追加します。
セカンダリテーブル関連付け外部キーを追加します。
メイン テーブルの自動インクリメント ID を削除して追加する手順が必要です。そうしないと、セカンダリ テーブルの関連する外部キーを追加するときにエラーが報告されます。 コードは次のとおりです。
ALTER TABLE example_table_ext DROP FOREIGN KEY fk_example_table_ext;
ALTER TABLE example_table_ext DROP example_table_id;
ALTER TABLE example_table_ext ADD example_table_id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT FIRST;
ALTER TABLE example_table DROP example_table_id;
ALTER TABLE example_table ADD example_table_id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT FIRST;
ALTER TABLE example_table_ext
ADD CONSTRAINT `fk_example_table_ext` FOREIGN KEY (`example_table_id`) REFERENCES `example_table` (`example_table_id`);