[英]How to update table1 with content from table2 with php and mysql
我的數據庫中有兩個表,table1和table2。 它們是相同的。 但是有時我更改表1中的數據。
如何復制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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.