如何';更新表格,如果表格存在';使用MySQL转储?
我目前正在使用如何';更新表格,如果表格存在';使用MySQL转储?,mysql,mysqldump,Mysql,Mysqldump,我目前正在使用mysqldump转储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', `mino
mysqldump
转储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相关工具)实现吗
谢谢您可能需要提前转储架构,并将
创建表
转换为创建表(如果不存在)
mysqldump -u... -p... --no-data --skip-add-drop-table ... --all-databases | sed 's/CREATE TABLE/CREATE TABLE IF NOT EXISTS/g' > MYSQLSchema.sql
这将绕过添加删除表(如果存在)代码>命令并将创建表
转换为创建表(如果不存在)
试试看 转储数据库时,可以设置/重置生成DROP TABLE命令的标志。要导出特定的数据库,我使用了mysqldump-u myusername-pmypassword-跳过添加DROP TABLE-无数据-单事务数据库|名称| sed's/创建表/创建表(如果不存在)/DB.sql