繁体   English   中英

如何使用php和mysql用table2中的内容更新table1

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM