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

时间:2010-09-30 21:44:52

标签: php mysql insert pdo

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

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

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

我使用php,pdo和mysql。

有什么方法吗?

3 个答案:

答案 0 :(得分:2)

明确说明您想要的列:

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

答案 1 :(得分:0)

"INSERT INTO final_table SELECT * FROM temp_table WHERE temp_table.groupname = '$gname'"

这里的问题在哪里?如果两者都是auto_increment,并且就像你说temp_table的id高于perm_table那么,你最终会得到正确的效果。

答案 2 :(得分:0)

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

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

相关问题