Có thể bạn muốn nói "Làm cách nào để tạo lại chỉ mục phát triển trên cơ sở dữ liệu trực tiếp (hiện tại) của tôi"?
Nếu có, tôi nghĩ rằng các lệnh SQL bạn đang tìm là;
HIỂN THỊ TẠO BẢNG {tablename};
ALTER TABLE ADD INDEX {INDEX_NAME} (col1, col2)
ALTER TABLE DROP INDEX {INDEX_NAME}
Bạn có thể sao chép "KEY" và "CONSTRAINT" hàng từ "HIỂN THỊ CREATE TABLE" đầu ra và đặt nó trở lại trong "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;
Hy vọng điều này sẽ hữu ích!
vui lòng cung cấp câu trả lời thay vì giả định, này thuộc về ý kiến. – Tom