我正在子查询的基础上更新记录,但它给了我错误
不能在from子句中指定更新的目标表
我的问题是
UPDATE paymentinfo set customer_id =
(
SELECT transation.transactionid
FROM paymenttransaction AS transation
LEFT JOIN paymentinfo as payment
ON (transation.paymentinfoid=payment.paymentinfoid)
where payment.hash="0b576d33c57484692131471a847eab7c"
)
WHERE hash="0b576d33c57484692131471a847eab7c"
我错在哪里?解决这个问题的最佳方法是什么
2条答案
按热度按时间toiithl61#
我认为使用double subquery方法(在您的例子中)是最简单的:
通常情况下,您需要切换这些以使用
JOIN
但我觉得这件事有点复杂。tvmytwxo2#
您正在更新“paymentinfo”表,同时使用此表在子查询中进行选择。请将此查询分为两部分,它将起作用。