似乎无法达到我的更新查询中的下一步。我能够成功查看与选择相关的列没有问题:与WHERE子句和INNER JOIN不起作用的MySQL更新查询
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";
这显示了3列所有与正确的increment_id相关的列。
下一步是更新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";
但我不断收到一个不是唯一的表/别名: 'sales_flat_order'错误消息。有人能指出我正确的方向吗?
SET'的位置是否重要?尝试在'UPDATE'语句后面放置'SET' – Grice 2014-09-24 13:26:26
'sales_flat_order'正确吗?在你的选择中你使用'sales_flat_order_grid'? – Jens 2014-09-24 13:26:57