2014-03-02 2 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에서 전역 수준이나 개별 테이블 작성 쿼리 중 어떤 데이터베이스를 사용하고 있는지 명시해야한다는 것입니다. 여기에해야 할 두 가지가 있습니다 :

가) 해당 데이터베이스가없는 경우 먼저 생성해야합니다. 거기에없는 데이터베이스에 뭔가를 넣을 방법이 없습니다.

B) 어떤 데이터베이스를 사용해야하는지 쿼리에 알려야합니다. 연결된 솔루션은이 솔루션을 사용합니다. 모든 테이블이 하나의 데이터베이스로 이동하는 경우에만 사용하고 싶을 것입니다. 라인은 다음과 같습니다

USE `database_name`; 

당신이 사용하려고하고있는 데이터베이스의 이름으로 database_name 교체.

CREATE TABLE IF NOT EXISTS `attend` (

데이터베이스의 이름으로 database_name를 교체

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

에 각 테이블이 다른 데이터베이스에 속한 경우


그러나, 다음과 같은 변경할 수 있습니다 그 테이블은 일부가 될 것입니다.

+1

마지막으로 나는, SQL 파일의 모든 데이터베이스 전에 USE 문을 적용 아주 exaushed 일하지만 –

0

현재 4.1 버전의 phpMyAdmin에서 서버 수준으로 내보낼 때 사용자 지정 내보내기 옵션을 열면 "CREATE DATABASE/USE 문 추가"옵션이 표시됩니다. 이 옵션을 선택해야합니다.

+0

근무 이전 버전의 phpMyAdmin을 사용 했으므로 EXPORT 중에는 해당 옵션이 없습니다. –

0

askubuntu.com에 명시된 바와 같이, 당신은 사용할 수 있습니다

사용 -export : mysqldump -u username -p –-all-databases > dump.sql
사용 -import : mysql -u username -p < dump.sql

관련 문제