![](/img/trans.png)
[英]update one MySQL table value based on another by id match with conditions
[英]Column update from one Table to another based on a ID match
我在同一个数据库中有两个表,分别名为table1和table2。 我需要复制从table1中选择的列,并根据ID匹配更新table2中的那些列。 我所做的是:
$sql = " UPDATE table2, table1 SET table2.column1= table1.column1
where table1.primarykey= table2.primarykey && primarykey= 1 ";
这个查询没有引发任何错误,但没有更新。我是mysql领域的纯粹初学者。 谁能帮我吗 ?
您的查询有错误。 第二primarykey
参考需要一个表别名; 否则,就模棱两可。
我建议使用显式join
语法编写查询:
UPDATE table2 JOIN
table1
ON table1.primarykey = table2.primarykey
SET table2.column1 = table1.column1
WHERE table1.primarykey = 1 ;
因为您没有捕获此错误。 我还建议您在应用程序层运行SQL语句时检查错误。
您可以尝试以下方法:
sql_query = UPDATE table1 t1, table2 t2
SET t1.field1 = t2.field1, t1.field2 = t2.field2 WHERE t1.id = t2.id;
子查询稍作修改:
$sql = " UPDATE table2 SET table2.column1= ( SELECT table1.column1 from table1
where table1.primarykey= table2.primarykey && primarykey= 1 )";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.