簡體   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