数据库R中的一个数据库Q和表A中有一个表A.如何在表Q.A的末尾添加表R.A的行。
问题是这两个表都有相同的主键' id' (自动增量),所以如果表QA有10行(id 1到10),那么在将具有5行(id 1到5)的表RA的内容添加到QA之后,那么最后QA将有15行(id 1至15)
感谢。
答案 0 :(得分:1)
如果两个表具有相同的结构,则可以采用以下过程将行从一个数据库表复制到另一个数据库表。
R.A
表格上创建一个临时表。现在将临时表中的所有行复制到Q.A
表,如下所示:
INSERT INTO q.a SELECT 0, * FROM temporary_table
现在,删除临时表。
示例:
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;
这样,不会使用从其他数据库表复制的旧主键值,但在'0'
语句中使用SELECT
时会自动生成。
确保用户对其他数据库表具有访问权限。
另请参阅: