繁体   English   中英

MySQL问题直接从一个表复制到另一个表

[英]MySQL Issue Copying from one table into another directly

我使用以下代码从一个表直接复制到另一个表:

$ transfer = $ db-> exec(“ INSERT INTO table2 SELECT * FROM table1 WHERE groupname ='$ gname'”);

但是,我的问题是两个表的ID字段不一定匹配(都是自动递增的),有时这可能意味着一个临时表的ID#比最终表的ID高。

我使用php,pdo和mysql。

有没有办法解决?

明确说明您想要的列:

"INSERT INTO table2 (`col_1`,`col_2`) SELECT `col_1`, `col_2` FROM table1 WHERE groupname = '$gname'"
"INSERT INTO final_table SELECT * FROM temp_table WHERE temp_table.groupname = '$gname'"

这里的问题在哪里? 如果两者都是auto_increment,并且就像您说的temp_table的ID比perm_table的ID高,您将最终获得正确的效果。

您还应该知道,MySQL将阻止对select表的插入:

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM