我一直在尋找一種方式來複制行,然後將其插入回到談判桌前,但值不同的ID(其類型爲自動遞增)。任何MySQL命令複製除auto_increment列之外的行?
我可以通過手動指定每列來做到這一點,但由於列數很多,而且以後可以添加或刪除列,所以我想使用一些簡單的查詢來做到這一點,而無需指定每列名稱。
我一直在尋找一種方式來複制行,然後將其插入回到談判桌前,但值不同的ID(其類型爲自動遞增)。任何MySQL命令複製除auto_increment列之外的行?
我可以通過手動指定每列來做到這一點,但由於列數很多,而且以後可以添加或刪除列,所以我想使用一些簡單的查詢來做到這一點,而無需指定每列名稱。
試試這個:
CREATE TEMPORARY TABLE temp_table SELECT * FROM source_table WHERE ...;
ALTER TABLE temp_table DROP COLUMN column_with_auto_increment;
INSERT INTO source_table SELECT * from temp_table; DROP TABLE temp_table;
很好,看起來好主意......任何方式,雖然,僅僅使用一個命令行的?我還記得使用很多臨時表並不經常使用....我想這個答案給了我一個想法。 – Codemole
恐怕沒有其他辦法,因爲你不想列出所有可能的領域。 – Serge