数据库
首页 > 数据库> > MySQL更新查询与WHERE子句和INNER JOIN不起作用

MySQL更新查询与WHERE子句和INNER JOIN不起作用

作者:互联网

似乎无法到达我的更新查询中的下一步.我能够成功查看与select no问题相关的列:

SELECT sales_flat_order_grid.entity_id,sales_flat_order_grid.increment_id,sales_flat_order.coupon_code
FROM sales_flat_order_grid 
INNER JOIN sales_flat_order ON sales_flat_order_grid.entity_id = sales_flat_order.entity_id     
WHERE sales_flat_order_grid.increment_id = "12345678";

这显示了与正确的increment_id相关的3列.

下一步是更新sales_flat_order.coupon_code字段.这是我的尝试:

UPDATE sales_flat_order 
INNER JOIN sales_flat_order ON sales_flat_order_grid.entity_id = sales_flat_order.entity_id      
WHERE sales_flat_order_grid.increment_id = "12345678"
SET coupon_code = "newcoupon";

但我一直收到一个Not unique table / alias:’sales_flat_order’错误消息.有人能指出我正确的方向吗?

解决方法:

查询应如下所示,您已加入相同的表,因此存在唯一别名的问题.我添加了表别名以提高可读性.

UPDATE 
sales_flat_order sfo
INNER JOIN sales_flat_order_grid sfog 
ON sfog.entity_id = sfo.entity_id      
SET sfo.coupon_code = "newcoupon"
WHERE sfog.increment_id = "12345678" ; 

标签:mysql,inner-join,where-clause
来源: https://codeday.me/bug/20190728/1561162.html