если на живую, то например так
DROP TABLE IF EXISTS `oc_zone_tmp`;
CREATE TABLE `oc_zone_tmp` (
`zone_id` int(11) NOT NULL AUTO_INCREMENT,
`country_id` int(11) NOT NULL,
`name` varchar(128) NOT NULL,
`code` varchar(32) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`zone_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
далее выполнить все, что между
https://github.com/ocshop/ocshop/blob/67fb317d0b855383fe1dd2e5adb869d499f2cbf8/upload/install/opencart.sql#L3992
и
https://github.com/ocshop/ocshop/blob/67fb317d0b855383fe1dd2e5adb869d499f2cbf8/upload/install/opencart.sql#L8098
включительно, заменяя `oc_zone` на `oc_zone_tmp` по тексту, чтобы получалось вот такое:
INSERT INTO `oc_zone_tmp` (`zone_id`, `country_id`, `name`, `code`, `status`) VALUES
после заполнения нашей новой таблицы значениями делаем финт ушами:
RENAME TABLE `oc_zone` TO `oc_zone_delete_me`, `oc_zone_tmp` TO `oc_zone`;
и чистим хвост:
DROP TABLE `oc_zone_delete_me`;