[英]mysql update query with inner join
我有两张桌子客户和订单。 我想用一个查询更新两个表中的不同值。 例如,客户表有一个城市列,值为德国,订单表有状态列,值为保持,我想将德国更改为伦敦并保持通过一个查询解决。 这是下面的查询
UPDATE customer,order INNER JOIN order ON customer.cust_id = order.cust_id SET cust_city = 'Lahore' AND order_status= 'Resolved' WHERE cust_id = 2
mysql 显示此查询错误
MySQL 支持这种操作:
UPDATE customer c INNER JOIN
order o
ON c.cust_id = o.cust_id
SET c.cust_city = 'Lahore',
o.order_status = 'Resolved'
WHERE c.cust_id = 2 ;
注意: order
是一个非常糟糕的表名称,因为它是一个 SQL 关键字。 为不需要转义的事物选择名称。
在 SQL 中使用连接查询进行更新非常简单。您甚至可以连接两个或多个表。 这是一个例子:
UPDATE customer_table c
INNER JOIN
employee_table e
ON c.city_id = e.city_id
INNER JOIN
anyother_ table a
ON a.someID = e.someID
SET c.active = "Yes"
WHERE c.city = "New york";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.