2015-07-03 254 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問題。太糟糕的標題沒有提到這一點。 –

相關問題