2016-05-15 144 views
0

我有两个数据库服务器 服务器:a,数据库名称:FMIS,表名称:员工 服务器:b,数据库名称:KPS,表名:雇员。 我需要一个SQL命令,它将数据从FMIS的员工表中复制到KPS的员工表中。 我写了一个像下面的公式,但它不工作。将数据从一个数据库复制到另一个数据库

INSERT INTO a.fmis.employee(列1,列2,...) 选择列1,列2,... 从b.kps.employee

这将是正确的SQL命令?

回答

0

如果他们在同一台服务器上,那么从一个数据库复制到另一个数据库会很容易,但是由于他们不是,您需要手动将其转移。

您应该能够使用

SHOW CREATE TABLE 

得到表结构,并

SELECT * FROM tablename INTO OUTFILE '/path/to/save.tsv' 

(确保文件不存在,并且用户具有文件的权限)导出数据。

然后将此信息复制到其他服务器。

您可以只运行CREATE TABLE你从第一步得到的,然后用

LOAD DATA INFILE 'path/to/save.tsv' INTO TABLE tablename 

导入数据。请注意,目标表名称不必与原始表名相同。

+0

我已经运行这个像SELECT * FROM name INTO OUTFILE'C:/save.tsv',但显示不正确的语法附近。你能帮忙吗? –

+0

'OUTFILE'或'INFILE'中应该没有空格 - 它们是单个关键字。 –

+0

是的,我没有放任何空间。像SELECT * FROM name INTO OUTFILE'C:/save.tsv' –