我在我的數據庫table1和table2中有兩個表。它們是相同的。但有時我會更改table1中的數據。如何使用php和mysql更新table1與table2中的內容
如何複製table1中的數據並更新table2使其看起來相同?
我試過REPLACE INTO table2 SELECT * FROM table1
,但它的工作方式與INSERT類似,只是創建新的行而不是更新現有的行。
我在我的數據庫table1和table2中有兩個表。它們是相同的。但有時我會更改table1中的數據。如何使用php和mysql更新table1與table2中的內容
如何複製table1中的數據並更新table2使其看起來相同?
我試過REPLACE INTO table2 SELECT * FROM table1
,但它的工作方式與INSERT類似,只是創建新的行而不是更新現有的行。
要使REPLACE INTO
按預期工作,目標表必須定義一個主鍵,否則MySQL無法確定某行是否已經存在並始終假定有新行。因此,對於沒有主鍵的表格,REPLACE INTO
的行爲與INSERT INTO
完全相同。
或者,您可以使用兩個查詢,一個UPDATE
和一個INSERT
,以及適當的WHERE (NOT) EXISTS
子句。這樣做的好處是便攜(REPLACE INTO
是MySQL的擴展)。
另一種方法是運行兩個命令...
truncate table table2;
insert into table2 select * from table1;
大。那是我的問題。我錯過了主鍵。謝謝。 – Haljan 2010-08-21 20:47:58