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