主キーを変更する方法をよく忘れてしまうので、自分用のメモとして残します。
テスト用テーブル
CREATE TABLE employee(
id int NOT NULL AUTO_INCREMENT
,code varchar(45) NOT NULL
,name varchar(45)
,age int
,PRIMARY KEY(id)
,UNIQUE(code)
);
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| code | varchar(45) | NO | UNI | NULL | |
| name | varchar(45) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
PRIMARY KEY制約とUNIQUE制約を変更
ALTER TABLE employee
DROP PRIMARY KEY
,DROP INDEX code
,ADD PRIMARY KEY (code)
,ADD UNIQUE (id)
;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | UNI | NULL | auto_increment |
| code | varchar(45) | NO | PRI | NULL | |
| name | varchar(45) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+