私は現在、mysqldump
でMySQLテーブルをダンプしています。MySQLダンプを使用して 'テーブルが存在する場合、テーブルを更新する'方法
ダンプは現在生産している:私は言ってダンプを希望何
DROP TABLE IF EXISTS `versions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `versions` (
`major` int(11) NOT NULL DEFAULT '0',
`minor` int(11) NOT NULL DEFAULT '0',
`revision` int(11) NOT NULL DEFAULT '0',
`build` int(11) NOT NULL DEFAULT '0',
`date_installed` datetime NOT NULL,
`current` tinyint(4) NOT NULL DEFAULT '0',
`product_type` varchar(30) DEFAULT NULL,
`product` varchar(30) DEFAULT NULL,
`product_class_name` varchar(80) DEFAULT NULL,
`lazy_load` tinyint(4) NOT NULL DEFAULT '0',
`sitewide` tinyint(4) NOT NULL DEFAULT '0',
UNIQUE KEY `versions_pkey` (`product`,`major`,`minor`,`revision`,`build`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
のようなもので、
IF TABLE EXISTS, UPDATE IT TO MATCH THIS STRUCTURE (
`major` int(11) NOT NULL DEFAULT '0',
`minor` int(11) NOT NULL DEFAULT '0',
`revision` int(11) NOT NULL DEFAULT '0',
`build` int(11) NOT NULL DEFAULT '0',
`date_installed` datetime NOT NULL,
`current` tinyint(4) NOT NULL DEFAULT '0',
`product_type` varchar(30) DEFAULT NULL,
`product` varchar(30) DEFAULT NULL,
`product_class_name` varchar(80) DEFAULT NULL,
`lazy_load` tinyint(4) NOT NULL DEFAULT '0',
`sitewide` tinyint(4) NOT NULL DEFAULT '0',
UNIQUE KEY `versions_pkey` (`product`,`major`,`minor`,`revision`,`build`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
は、MySQLのダンプを通じて、このことは可能です(または実際に他はmysql-関連ツール)?
おかげ
これはうまくいきます:) – kaese
特定のDBをエクスポートするには、mysqldump -u myusername -pmypassword --skip-add-drop-table --no-data --single-transaction database_nameを使用しました。 sedの/ CREATE TABLE /存在しない場合のテーブルの作成/ g '> db.sql' – Voles