sql >> Database teknologi >  >> RDS >> Mysql

MySql, hvordan kan jeg eksportere indekser fra min udviklingsdatabase til min produktionsdatabase?

Måske mener du "Hvordan genskaber jeg mine udviklingsindekser på min (eksisterende) live database"?

Hvis ja, tror jeg, at de SQL-kommandoer, du leder efter, er;

VIS OPRET TABEL {tablename};

ÆNDRINGSTABEL TILFØJ INDEKS {indeksnavn} (kol1, kol2)

ÆNDRING AF TABEL SLIP INDEKS {index_name}

Du kan kopiere "KEY" og "CONSTRAINT" rækkerne fra "SHOW CREATE TABLE" output og sætte det tilbage i "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;

Håber dette hjælper!



  1. Ukendt kolonne '' i 'feltliste'. Django

  2. Sådan forhindrer du SQL Server-job i at køre samtidigt

  3. Sådan indlæses datodata i MySQL, når du bruger LOAD DATA

  4. Mysql-problem med WHERE i klausul