2014-03-02 44 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

相關問題