我需要将一个表从一个数据库复制到另一个数据库。所以我尝试在SqlFiddle中查询如下但得到错误
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
错误:
MySQL的查询面板中不允许使用DDL和DML语句;只允许SELECT语句。将DDL和DML放在架构面板中。
答案 0 :(得分: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>"
答案 1 :(得分:0)
您可以使用MySQL INSERT INTO...SELECT
语法来实现您的目标。
CREATE TABLE ForgeRock1
(`id` int, `productName` varchar(7), `description` varchar(55));
INSERT INTO ForgeRock1 SELECT * FROM ForgeRock