我想从一个数据库(比如说source_db)复制一个表(比如说tbl_1)到另一个数据库(比如target_db),其中下面是考虑事项 :将表从一个数据库复制到另一个,维护表结构并将其重命名
表的结构应予以保留,包括主键和 自动增量键
在创建tbl_1的副本,我需要重新命名它cpy_tbl_1
怎么可能使用查询?
P.S.我知道会有很多类似的问题,但我也有特别的考虑。
我想从一个数据库(比如说source_db)复制一个表(比如说tbl_1)到另一个数据库(比如target_db),其中下面是考虑事项 :将表从一个数据库复制到另一个,维护表结构并将其重命名
表的结构应予以保留,包括主键和 自动增量键
在创建tbl_1的副本,我需要重新命名它cpy_tbl_1
怎么可能使用查询?
P.S.我知道会有很多类似的问题,但我也有特别的考虑。
CREATE TABLE db_target.cloned_table
SELECT *
FROM db_source.source_table;
随着前一句表将只用领域,它的类型,但没有钥匙,约束下创建,发动机将被设置。您可以手动指定它们在同一个句子是这样的:
CREATE TABLE db_target.cloned_table (
a INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (a), KEY(b)
) ENGINE=MyISAM
SELECT b,c FROM db_source.source_table;
可以实现这一如下:
首先创建TARGET_DB
的MySQL>创建数据库TARGET_DB;
然后使用它
mysql> use target_db;
然后用名称cpy_tbl_1
其作为
MySQL的完成创建TB1的结构>创建表cpy_tbl_1像source_db.tb1;
然后只是复制数据。
mysql> insert into cpy_tbl_1 select * from source_db.tb1;
和检查结果
,如果你能使用shell脚本,然后mysqldump
是一个强大而灵活的选择...特别是如果你可以使用一个小sed
做搜索和替换。
简单的版本:
mysqldump $SOURCE $TABLE | mysql $TARGET
的mysql> CREATE TABLE CSI-就业port.jf_appointment SELECT * FROM CSI-EMP-portal.jf_appointment; 错误1064(42000):您的SQL语法错误;请查看与您的MySQL服务器版本相对应的 手册,以便在'-employment-port.jf_appointment SELECT * FROM csi-emp-portal附近使用正确的语法。jf_appointment'在第一行 mysql>不工作 –
db /表名不会被解析,因为你打算我猜是因为减号,试着用''把它们括起来,例如:\'your_db_name \'。\'your_table_name \ ' –
它没有传递主键和自动增量。但是我们可以手动设置它。没什么大不了 – Tanmay