2015-08-10 2 views
2

Я пытаюсь скопировать таблицу из одной базы данных в другую базу данных.Скопировать таблицу из одной базы данных в другую базу данных

Уже существует несколько решений этой проблемы. Я использую этот метод для решения этой проблемы.

select * 
into DbName.dbo.NewTable 
from LinkedServer.DbName.dbo.OldTableSourceDB..MySourceTable 

У меня есть две базы данных. Один из них - blog, включая таблицу с именем engineers; другая база данных с именем msdata, включая таблицу с именем ms. Я пытаюсь скопировать таблицу engineers в базу данных msdata. Мой запрос:

select * into msdata.dbo.ms from linkedserver.blog.dbo.engineers; 

но выход

Undeclared variable: msdata 

Я не знаю, что это проблема. Любая помощь будет оценена.

+0

mySQL или SQL-сервер? dbo подразумевает SQL-сервер вместе с Linked Server vs [Federated Engine] (http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html) – xQbert

+0

Да, это сервер mysql –

ответ

1

Просто иллюстрации:

create table so_gibberish.fred1 
(
    id int auto_increment primary key, 
    what varchar(40) not null 
); 

insert so_gibberish.fred1 (what) values ('this'),('that'); 


insert into newdb789.fred1 select * from so_gibberish.fred1; 

-- failed, error code 1146: Table 'newdb789.fred1' doesn't exist 

create table newdb789.fred1 
(
    id int auto_increment primary key, 
    what varchar(40) not null 
); 

insert into newdb789.fred1(id,what) select id,what from so_gibberish.fred1; 
insert into newdb789.fred1 (what) values ('a new thing'); 

select * from newdb789.fred1; 

+----+-------------+ 
| id | what  | 
+----+-------------+ 
| 1 | this  | 
| 2 | that  | 
| 3 | a new thing | 
+----+-------------+ 

хорошо, auto_increment сохраняется и возобновляется в 3 для новых вещей

+0

Большое спасибо многое привлекло ваше четкое объяснение. На самом деле вы хороший программист. Да благословит тебя Бог. –

1

Попробуйте альтернативный запрос ниже, убедитесь, что вы уже создали таблицу в базе данных назначения:

INSERT INTO DestinationDatabase..DestinationTable 
SELECT * FROM SourceDatabase..SourceTable; 
Смежные вопросы