Być może masz na myśli „Jak odtworzyć moje indeksy programistyczne w mojej (istniejącej) aktywnej bazie danych”?
Jeśli tak, myślę, że polecenia SQL, których szukasz, to;
POKAŻ CREATE TABLE {nazwa tabeli};
ALTER TABLE ADD INDEX {index_name} (col1, col2)
ZMIEŃ INDEKS UPUSZCZANIA TABELI {index_name}
Możesz skopiować wiersze „KEY” i „CONSTRAINT” z danych wyjściowych „SHOW CREATE TABLE” i umieścić je z powrotem w „ALTER TABLE ADD INDEX”.
dev mysql> SHOW CREATE TABLE city;
CREATE TABLE `city` (
`id` smallint(4) unsigned NOT NULL auto_increment,
`city` varchar(50) character set utf8 collate utf8_bin NOT NULL default '',
`region_id` smallint(4) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `region_idx` (region_id),
CONSTRAINT `city_ibfk_1` FOREIGN KEY (`region_id`) REFERENCES `region` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB;
live mysql> SHOW CREATE TABLE city;
CREATE TABLE `city` (
`id` smallint(4) unsigned NOT NULL auto_increment,
`city` varchar(50) character set utf8 collate utf8_bin NOT NULL default '',
`region_id` smallint(4) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
live mysql> ALTER TABLE `city` ADD KEY `region_idx` (region_id);
live mysql> ALTER TABLE `city` ADD CONSTRAINT `city_ibfk_1` FOREIGN KEY (`region_id`) REFERENCES `region` (`id`) ON UPDATE CASCADE ON DELETE RESTRICT;
Mam nadzieję, że to pomoże!