繁体   English   中英

带有内部连接的mysql更新查询

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

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