2014-03-02 45 views
4

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

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

可能的解决方案。

回答

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

最后我申请USE语句在SQL文件中的每个数据库之前,很exaushed工作,但保护正常工作 –

0

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

+0

我有旧版本的phpMyAdmin,所以在EXPORT期间这些选项不存在 –

0

截至askubuntu.com说,你可以使用:

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

相关问题