2013-12-11 5 views
-1

테이블 (re_user)에서 다른 테이블 (pg_users)으로 사용자를 가져오고 싶습니다. 도와 주시겠습니까? Thnx.mysql에서 테이블 가져 오기/내보내기

INSERT INTO `pg_users`(`id`, `fname`, `sname`, `status`, `confirm`, `login`, 
`password`, `lang_id`, `email`, `date_birthday`, `date_last_seen`, 
`date_registration`, `root_user`, `guest_user`, `login_count`, `active`, 
`show_info`, `phone`, `user_type`, `access`, `version_message_count`, `rating`, 
`about_me`, `social_data`, `date_modified`) 

SELECT `id`, `fname`, `sname`, `status`, `confirm`, `login`, `password`, `lang_id`, 
`email`, `date_birthday`, `date_last_seen`, `date_registration`, `root_user`, 
`guest_user`, `login_count`, `active`, `show_info`, `phone`, `user_type`, 
`access`,`version_message_count`, `rating`, `about_me`, `social_data`, 
`date_modified` FROM `re_user` WHERE 1 
+3

발생하는 오류 및/또는 현재 얻고있는 결과를 제공하여보다 설명력을 높이십시오. 그렇지 않은 이유는 무엇입니까? –

+0

설명서를 먼저 확인하십시오. http://dev.mysql.com/doc/refman/5.0/en/insert-select.html – MillaresRoo

+0

select 쿼리의 where 절에 문제가 있습니다. –

답변

0

다른 데이터베이스의 테이블에서 당겨 당신이 테이블에 데이터를 삽입 할 것을, 당신의 의견에 기재된 내용에 따라, 당신은이 정보에서 오는 할 수있는 데이터베이스로 특정해야하며, 갈거야. 아래 예에서 DESTINATION_SCHEMA_NAMESOURCE_SCHEMA_NAME을 업데이트하면 문제가 해결됩니다. 또한 모든 것을 복사하는 경우 select 문에서 where 절을 사용할 필요가 없습니다.

INSERT INTO `DESTINATION_SCHEMA_NAME.`pg_users`(`id`, `fname`, `sname`, `status`, `confirm`, `login`, 
`password`, `lang_id`, `email`, `date_birthday`, `date_last_seen`, 
`date_registration`, `root_user`, `guest_user`, `login_count`, `active`, 
`show_info`, `phone`, `user_type`, `access`, `version_message_count`, `rating`, 
`about_me`, `social_data`, `date_modified`) 

SELECT `id`, `fname`, `sname`, `status`, `confirm`, `login`, `password`, `lang_id`, 
`email`, `date_birthday`, `date_last_seen`, `date_registration`, `root_user`, 
`guest_user`, `login_count`, `active`, `show_info`, `phone`, `user_type`, 
`access`,`version_message_count`, `rating`, `about_me`, `social_data`, 
`date_modified` FROM `SOURCE_SCHEMA_NAME`.`re_user` 
+0

문제가 있습니다.# 1142 - 're_user'테이블 – user3092710

+0

에 대해 'DB'@ 'localhost'사용자에게 SELECT 명령이 거부되었습니다. 즉, 사용중인 데이터베이스 사용자는 해당 데이터베이스/테이블에 액세스 할 수 없습니다. 한 데이터베이스에서 다른 데이터베이스로 데이터를 복사하려면 사용자 계정이 해당 데이터베이스의 두 테이블 모두에 액세스 할 수 있어야합니다. –

+0

예 저는 다른 사용자가있어서 무엇을 할 수 있습니까? – user3092710

0

이렇게하면됩니다.

명령 줄 하나의 테이블에 대한

가져 오기/내보내기 :

내보내기 테이블 스키마

-> mysqldump -u your_user_name -p your_database_name table_name > test.sql 

이라는 파일 test.sql을 만들고에 테이블 SQL 명령을 생성합니다 테이블 table_name을 만듭니다. 테이블

-> mysql -u your_user_name -p database_name table_name < test.sql 

가져 오기 데이터 경로를 탐색하고 다음 명령을 실행하지 않을 경우 귀하의 test.sql 파일이 같은 디렉토리에 있는지 확인합니다.

관련 문제