我想在查询下方运行以更新优惠券表
UPDATE vouchers SET status = 6 WHERE voucher_id IN
(
select a.voucher_code from products a
JOIN order b ON a.order_id = b.id
WHERE a.voucher_code != '' LIMIT 10
)
但是在运行查询时,我遇到了mysql错误:
这个版本的MySQL还没有支持' LIMIT& IN / ALL / ANY / SOME子查询'
提前致谢。
答案 0 :(得分:1)
尝试将子查询移动到更新连接中:
UPDATE vouchers v
INNER JOIN
(
SELECT a.voucher_code
FROM products a
INNER JOIN order b
ON a.order_id = b.id
WHERE a.voucher_code != ''
LIMIT 10
) t
ON v.voucher_id = t.voucher_code
SET v.status = 6;
在这种情况下,应该允许 LIMIT
。