[英]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.