0

如果我导出了一个包含我的数据库的.sql文件,那么我可以只将该数据库的“部分”而不是整个数据库导入 MySql 吗?

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

我导出了测试数据库。

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

然后我计划从 .sql 文件导入,并希望空表将重新填充它们填充的任何内容。

但我收到一个错误:

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

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

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

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

4

2 回答 2

1

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

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

于 2010-08-29T21:38:53.537 回答
0

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

另一种方法是告诉 MySQL 忽略错误。使用 CLI,您提供了-f开关,但我对 PhpMyAdmin 不够熟悉,不知道如何做到这一点。

于 2010-08-29T23:37:16.000 回答