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

时间:2014-03-02 05:38:12

标签: mysql phpmyadmin xampp mysql-error-1064

错误

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。

3 个答案:

答案 0 :(得分:6)

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

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

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

USE `database_name`;

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


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

CREATE TABLE IF NOT EXISTS `attend` (

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

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

-export using mysqldump -u username -p –-all-databases > dump.sql
- 进口使用:mysql -u username -p < dump.sql