2015-07-03 208 views
2

我需要将表从一个数据库复制到另一个数据库。于是,我就在SqlFiddle查询如下但是得到错误Sql将表从一个数据库复制到另一个数据库

CREATE TABLE ForgeRock 
    (`id` int, `productName` varchar(7), `description` varchar(55)) 
; 

INSERT INTO ForgeRock 
    (`id`, `productName`, `description`) 
VALUES 
    (1, 'OpenIDM', 'Platform for building enterprise provisioning solutions'), 
    (2, 'OpenAM', 'Full-featured access management'), 
    (3, 'OpenDJ', 'Robust LDAP server for Java') 
; 


CREATE TABLE ForgeRock1 AS SELECT * FROM ForgeRock 

错误:

DDL and DML statements are not allowed in the query panel for MySQL; only SELECT statements are allowed. Put DDL and DML in the schema panel.

+0

由于错误状态,SQLFiddle不允许您将CREATE TABLE语句放在右侧的框中。把它放在左边的盒子里。 http://sqlfiddle.com/#!9/2f1c9/1 –

回答

0

您可以使用MySQL INSERT INTO...SELECT语法来实现你想要的。

CREATE TABLE ForgeRock1 
    (`id` int, `productName` varchar(7), `description` varchar(55)); 

INSERT INTO ForgeRock1 SELECT * FROM ForgeRock 
+0

@LalitJadiya我更新了我的答案,以便它在SQL小提琴中运行。再试一次。你需要把'INSERT'语句放在左边。 –

1

你也可以使用mysqldump转储一个表到另一个数据库:

mysqldump -u<user> -p<password> <first_database> <table_name> | mysql -u<user> -p<password> <second_database> 

当然必须然后先创建第二个数据库,可以使用如下命令来完成:

mysql -u<user> -p<password> -e"CREATE DATABASE <second_database>" 
+0

我认为她的问题更多的是一个SQL小提琴问题,而不是MySQL问题。太糟糕的标题没有提到这一点。 –

相关问题