2010-08-21 79 views
0

我在我的數據庫table1和table2中有兩個表。它們是相同的。但有時我會更改table1中的數據。如何使用php和mysql更新table1與table2中的內容

如何複製table1中的數據並更新table2使其看起來相同?

我試過REPLACE INTO table2 SELECT * FROM table1,但它的工作方式與INSERT類似,只是創建新的行而不是更新現有的行。

回答

0

要使REPLACE INTO按預期工作,目標表必須定義一個主鍵,否則MySQL無法確定某行是否已經存在並始終假定有新行。因此,對於沒有主鍵的表格,REPLACE INTO的行爲與INSERT INTO完全相同。

或者,您可以使用兩個查詢,一個UPDATE和一個INSERT,以及適當的WHERE (NOT) EXISTS子句。這樣做的好處是便攜(REPLACE INTO是MySQL的擴展)。

+0

大。那是我的問題。我錯過了主鍵。謝謝。 – Haljan 2010-08-21 20:47:58

0

另一種方法是運行兩個命令...

truncate table table2; 
insert into table2 select * from table1; 
相關問題