MySQL при изменении primary key нужно изменить и foreign key
Есть две таблицы:
CREATE TABLE `countries` (
`id` int(10) unsigned NOT NULL,
`name` varchar(45) NOT NULL
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE `data` (
`data_id` bigint(20) unsigned NOT NULL,
`country_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`data_id`,`country_id`),
KEY `fk_country_idx` (`country_id`),
CONSTRAINT `fk_data` FOREIGN KEY (`data_id`) REFERENCES `common_data` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_country` FOREIGN KEY (`country_id`) REFERENCES `countries` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Таблица countries содержит следующее:
+----+---------+
| id | name |
+----+---------+
| 0 | UNKNOWN |
| 1 | RUSSIA |
| 2 | USA |
| 3 | CHINA |
+----+---------+
Мне нужно изменить id в таблице countries, чтобы стало например так:
RUSSIA => 2
USA => 3
CHINA => 1
Также чтобы в таблице data изменились country_id, как это проще всего можно было бы реализовать?