sql >> Databáze >  >> RDS >> Mysql

MySql, jak mohu exportovat indexy z mé vývojové databáze do mé produkční databáze?

Možná máte na mysli „Jak znovu vytvořím své vývojové indexy ve své (existující) živé databázi“?

Pokud ano, myslím, že příkazy SQL, které hledáte, jsou;

SHOW CREATE TABLE {tablename};

ALTER TABLE ADD INDEX {index_name} (sloupec1, sloupec2)

ALTER TABLE DROP INDEX {index_name}

Můžete zkopírovat řádky "KEY" a "CONSTRAINT" z výstupu "SHOW CREATE TABLE" a vrátit je zpět do "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;

Doufám, že to pomůže!



  1. Ekvivalent Oracle GROUP_CONCAT().

  2. Instalace MySQLdb na Mac OS X

  3. MySql:OBJEDNÁVKA PODLE rodiče a dítěte

  4. ERROR 1067 (42000):Neplatná výchozí hodnota pro „created_at“