2011-03-04 51 views
0

有一個現有的表A.假設我想使用外鍵將現有表A的所有或特定(列)值添加到表B中,我如何在MySQL中執行此操作? 如果表A中有任何新的插入或更新,它也應該自動插入到表B中。也可以使用插入/更新觸發器。如何在MySQL中自動加載一個表的值到另一個表..?

+0

爲什麼你想重複值?爲什麼不只是使用視圖? http://dev.mysql.com/doc/refman/5.0/en/create-view.html –

回答

0

您可以使用插入/更新觸發器。

0

你爲什麼要這麼做? 爲什麼不使用表B中的forign鍵引用表A中的數據?

+0

但是,然後,我從表A插入相同的值到表B。如果有自動方式,它總是更好。 – Raju

+0

是的,但問題是:爲什麼在兩個表中都需要相同的值,因爲它們可以通過外鍵連接? – Thomas

1

要自動更新表B中的更改,需要MySQL支持的觸發器,但phpMyAdmin不支持。相反,如果你正在尋找從表A一個特設的基礎上,將行插入到表B,則是很簡單

INSERT INTO TABLEA (COL1, COL2, COL3) 
SELECT FROM TABLEB (COL1, COL2, COL3) 
WHERE (SELECT COUNT(*) FROM TABLEA WHERE TABLEA.COL1 = TABLEB.COL1) = 0 

上面的SQL做一個簡單的複製從表B到TableA的。 WHERE子句確保只有不存在的記錄被插入。

0

insert into tableb(columns) select columns from tablea

相關問題