如何通过 PhpMyAdmin 一次导入多个数据库?

Posted

技术标签:

【中文标题】如何通过 PhpMyAdmin 一次导入多个数据库?【英文标题】:How to import multiple database at once through PhpMyAdmin? 【发布时间】:2014-04-03 04:12:28 【问题描述】:

错误

SQL 查询:

--
-- Database: `attend`
--

-- --------------------------------------------------------

--
-- Table structure for table `attend`
--

CREATE TABLE IF NOT EXISTS `attend` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `name` varchar(15) NOT NULL DEFAULT 'name',
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `timeing` time NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

mysql said: Documentation
#1046 - No database selected 

我正在转移我的数据库。我一次导出了所有数据库。 所以在导入期间我无法选择单个数据库。 通过直接导入 sql 文件,我得到了上述错误。 在phpmyadmin import database error上找到了可能的解决方案 但不知道如何在 .sql 文件中为大约 30 个数据库实施此解决方案 请帮助我,因为我在导出所有数据库后删除了旧数据库,需要导入 mASAP。

【问题讨论】:

【参考方案1】:

问题是 SQL 需要明确地被告知您正在使用什么数据库,无论是在全局级别还是在每个单独的表创建查询上。在这里我们需要做两件事:

A) 如果该数据库不存在,您需要先创建它。没有办法将不存在的东西放入数据库中。

B) 确保告诉查询要使用哪个数据库。您链接的解决方案使用此解决方案。如果所有表都转到一个数据库,您只会想使用它。该行是:

USE `database_name`;

database_name 替换为您要使用的数据库的名称。


但是,如果每个表属于不同的数据库,您需要更改以下内容:

CREATE TABLE IF NOT EXISTS `attend` (

CREATE TABLE IF NOT EXISTS `database_name`.`attend` (

database_name 替换为该表将成为其中一部分的数据库的名称。

【讨论】:

最后我在 sql 文件中的每个数据库之前都应用了 USE 语句,工作非常辛苦,但工作正常【参考方案2】:

在当前 4.1 版本的 phpMyAdmin 中,当您在服务器级别导出时,如果您打开自定义导出选项,您会看到一个选项“添加 CREATE DATABASE / USE 语句”。这个选项是你需要选择的。

【讨论】:

我有旧版本的 phpMyAdmin,所以这些选项在导出期间不存在【参考方案3】:

如askubuntu.com 所述,您可以使用:

-导出使用:mysqldump -u username -p –-all-databases > dump.sql -导入使用:mysql -u username -p < dump.sql

【讨论】:

以上是关于如何通过 PhpMyAdmin 一次导入多个数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何轻松将多个 sql 文件导入 MySQL 数据库?

如何通过 phpmyadmin 将 csv 文件导入 mysql

phpmyadmin 一次只导入 48 条记录

phpMyAdmin 一次为多个表“转储一些行”

如何通过 phpmyadmin 导入非常大的查询?

如何通过网络在 xampp phpmyadmin 上导入 sql