Mysql 如何将一个表的行附加到具有相同模式和数据类型的另一个表中
一个数据库Q中有一个表a,数据库R中有一个表a。如何将表R.a的行添加到表Q.a的末尾 问题是这两个表都有相同的主键“id”(自动递增),所以如果表Q.A有10行(id 1到10),那么在将表R.A有5行(id 1到5)的内容添加到Q.A中之后,最后Q.A将有15行(id 1到15)Mysql 如何将一个表的行附加到具有相同模式和数据类型的另一个表中,mysql,Mysql,一个数据库Q中有一个表a,数据库R中有一个表a。如何将表R.a的行添加到表Q.a的末尾 问题是这两个表都有相同的主键“id”(自动递增),所以如果表Q.A有10行(id 1到10),那么在将表R.A有5行(id 1到5)的内容添加到Q.A中之后,最后Q.A将有15行(id 1到15) 谢谢 如果两个表具有相同的结构,则可以采用以下步骤将行从一个数据库表复制到另一个数据库表 在R.a表上创建临时表 从临时表中删除主键列 现在将所有行从临时表复制到Q.A表,如下所示: 插入q.a,从临时表格中选择0
谢谢 如果两个表具有相同的结构,则可以采用以下步骤将行从一个数据库表复制到另一个数据库表
R.a
表上创建临时表Q.A
表,如下所示:
插入q.a,从临时表格中选择0*
CREATE TABLE tmp SELECT * from R.A WHERE ...;
ALTER TABLE tmp drop pk_id; -- drop auto increment field
INSERT INTO Q.A SELECT 0, tmp.* FROM tmp;
DROP TABLE tmp;
这样,从其他数据库表复制的旧主键值不会被使用,而是在SELECT
语句中使用'0'
时自动生成
确保用户对其他数据库表具有访问权限
另请参阅:
CREATE TABLE tmp SELECT * from R.A WHERE ...;
ALTER TABLE tmp drop pk_id; -- drop auto increment field
INSERT INTO Q.A SELECT 0, tmp.* FROM tmp;
DROP TABLE tmp;