仅从完整的MySql数据库导出中导入表

时间:2010-08-29 21:32:53

标签: php mysql sql security mysql-error-1007

如果我在其中导出了一个带有数据库的 .sql 文件,那么我是否只能将该数据库的“部分”而不是整个数据库导入MySql?

当我在测试数据库上尝试时出现了问题。

我导出了testdatabase。

然后清空数据库中的一些表。

然后我计划从.sql文件导入,希望清空的表格会被填充的地方重新填充。

但是我收到了一个错误:

#1007 Can't create database 'database_name' - database exists

它是否存在,但是是否可以仅从.sql备份中导入已存在的表的值?

或者我必须删除整个数据库然后导入数据库吗?

仅供参考我目前正在使用PhpMyAdmin。

2 个答案:

答案 0 :(得分:1)

编辑文件并删除你不感兴趣恢复的部分Camran很简单。

或者 - 将整个文件导入单独的数据库(更改数据库名称@文件顶部),然后使用INSERT语句将数据从此新数据库中的表复制到另一个数据库。

答案 1 :(得分:0)

我通过编写脚本将每个表转储到每个单独的文件中并将所有CREATE TABLE语句转储到自己的文件中来解决了这个问题。多年来它已经有点漫长而且花哨,所以我不能在这里发布它。

另一种方法是告诉MySQL忽略错误。使用CLI,您可以提供-f开关,但我不熟悉PhpMyAdmin以了解如何执行此操作。