Мне нужно добавить первичный ключ в таблицу в Mysql с существующими данными.
STATES:
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| country_code | varchar(2) | YES | | NULL | |
| state_code | varchar(20) | YES | | NULL | |
| state_name | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+
Я создал таблицу States2, которая пуста и содержит первичный ключ в нем.
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| country_code | varchar(2) | YES | | NULL | |
| state_code | varchar(20) | YES | | NULL | |
| state_name | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+
Что я хочу сделать сейчас, так это взять данные из состояний и скопировать их в States2 и в то же время добавить первичный ключ автоинкремента.
Это что я пробовал:
mysql> insert into states2 select NULL,states.* FROM states;
ERROR 1048 (23000): Column 'id' cannot be null
Как правильно скопировать это и одновременно вставить ключ?