既存の複合主キーテーブルに対して A_I の id カラムを追加する
2020/02/17 02:05:072020/06/04 10:36:54
int unsigned FIRST
で追加して、後ほど A_I 属性を付け直しましょう 流れ.sql
ALTER TABLE `target_table` ADD `id` int unsigned FIRST; /* id を uint で最初に追加 */
ALTER TABLE `target_table` DROP PRIMARY KEY; /* PRIMARY をいったん落とす */
ALTER TABLE `target_table` ADD PRIMARY KEY (`id`, `hoka`, `no`, `primary_key`); /* 追加した id と元のプライマリキーを設定しなおす */
ALTER TABLE `target_table` CHANGE COLUMN `id` `id` int unsigned NOT NULL AUTO_INCREMENT; /* id に A_I 属性を追加 */
まとめる.sql
ALTER TABLE `target_table` ADD `id` int unsigned FIRST, DROP PRIMARY KEY, ADD PRIMARY KEY (`id`, `hoka`, `no`, `primary_key`), CHANGE COLUMN `id` `id` int unsigned NOT NULL AUTO_INCREMENT FIRST;
Generated from
既存の複合主キーテーブルに対して A_I の id カラムを追加する