2011-04-05 24 views
1

的條目我有表1,表2 =>所有字段是相同的,除了表2 2有一個額外的字段,它是表1MySQL的複製數據上的另一個表

**table1** *ID*,content,status 
**table2** *ID*,content,status,tid 

所以TID =表1 ID的FK。

我需要將表1中的一行復制到表2中,因此實際上表2將是表1的備份。我可以使用MySQL,那麼PHP這樣做,那麼MySQL再次我在想,如果你可以有mysql的:)

希望一個簡單的解決方案它不是太複雜

回答

1

如果你想每一行復制到table1table2,你可以這樣做:

INSERT INTO table2 (id, content, status, tid) 
    SELECT id, content, status, id FROM b; 

如果table2不爲空,則可以添加ON DUPLICATE KEY...條款來處理衝突。

編輯

如果你只是想複製一個行,你可以添加一個WHERE條款:

INSERT INTO table2 (id, content, status, tid) 
    SELECT id, content, status, id FROM b WHERE id=123; 
+0

沒有它的一個條目/記錄我需要複製,所以我可以有該記錄的多個版本,並仍然保持table1乾淨,如果有意義 – Val 2011-04-05 13:45:08

+0

好的,看看我的編輯。兩個表中的「id」是相同的,或者例如'auto_increment'? – 2011-04-05 13:47:10

+0

這聽起來更適合:)編輯部分:)我會給它一個回去找回你:) – Val 2011-04-05 13:47:48

0
INSERT INTO table2 (content, status, tid) SELECT content, status, ID FROM table1 
相關問題