Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何从phpMyAdmin 4中的导出中删除“如果不存在则创建数据库”语句?_Mysql_Phpmyadmin - Fatal编程技术网

Mysql 如何从phpMyAdmin 4中的导出中删除“如果不存在则创建数据库”语句?

Mysql 如何从phpMyAdmin 4中的导出中删除“如果不存在则创建数据库”语句?,mysql,phpmyadmin,Mysql,Phpmyadmin,我使用的是phpMyAdmin 4.0.2,在对整个数据库执行导出时,默认情况下,如果在导出SQL的开头不存在CREATE DATABASE语句,它会添加CREATE DATABASE语句 我找不到配置选项或任何选项来禁用它。。。那么,有没有一种方法可以在默认情况下禁用该语句,并且在我的导出中不包含该语句?在版本3中,默认情况下不会发生这种行为。一个快速修复方法,实际上是一种黑客行为,因此不是理想的解决方案,是编辑位于libraries/plugins/export/ExportSql.clas

我使用的是phpMyAdmin 4.0.2,在对整个数据库执行导出时,默认情况下,如果在导出SQL的开头不存在CREATE DATABASE语句,它会添加CREATE DATABASE语句


我找不到配置选项或任何选项来禁用它。。。那么,有没有一种方法可以在默认情况下禁用该语句,并且在我的导出中不包含该语句?

在版本3中,默认情况下不会发生这种行为。一个快速修复方法,实际上是一种黑客行为,因此不是理想的解决方案,是编辑位于libraries/plugins/export/ExportSql.class.php中的导出类文件,并通过在它们之前添加以下内容来强制注释CREATE和USE语句: 第709行

第734行

'-- USE ' . PMA_Util::backquoteCompat($db, $compat)

编辑:有一个缺点,那就是如果您导出一个或多个完整的数据库,而不仅仅是数据库中的部分或所有表,那么CREATE和USE语句也会出现注释。

与Hermes的答案相反,一个更好的主意是编辑文件。/export.php请注意:不是db_export.php

在phpMyAdmin 4.0.4的第724行中,您可以找到以下行:

    if (! $export_plugin->exportDBCreate($db)) {
        break;
    }
您可以对它们进行注释或删除,以跳过创建数据库语句的过程,在我看来,创建数据库语句比在导出中添加两行注释更整洁

像这样:

    /*
    if (! $export_plugin->exportDBCreate($db)) {
        break;
    }
    */

上面的行仅适用于导出第720行上的单个数据库,您会发现:}elseif$export_type=='database'{。因此您不会中断完整的服务器导出。

我要做的是首先在左侧边栏上选择数据库,然后单击导出选项。转储文件不包含CREATE database语句


一个简单的警告,这对我来说很有用,但我还没有分析SQL导出文件中是否有任何您可能需要考虑的其他差异

将其放在那里会有伤害吗?为什么需要将其删除?这只是因为对于大型数据库,我希望将其从我的开发本地数据库导出到一个文件中,然后在服务器数据库上导入。如果本地数据库名称与服务器上的数据库名称不同,并且我在服务器上导入了该文件,则在尝试创建相同的数据库时会出现错误,但名称不同…如果有意义的话。只需查看phpMyAdmin更改日志,就会发现该行为似乎是在5月20日版本4.0.2.0中引入的13.谢天谢地,在使用本地数据库名称(与临时数据库和实时数据库名称不同)时,这也给我带来了不必要的麻烦,看起来他们在2013年8月4日的版本4.0.5.0中再次更改了这一点,并在默认情况下将此选项设为false。如果在共享主机上使用phpmyadmin,这不是真正的解决方案,是吗
    /*
    if (! $export_plugin->exportDBCreate($db)) {
        break;
    }
    */