![](/img/trans.png)
[英]MYSQL - Subquery on same table in WHERE clause of UPDATE statement
[英]mysql how to update table with same subquery in where clause
以下是我的查詢,我正在嘗試更新Recod,但出現錯誤:
您不能在from子句中指定要更新的目標表
UPDATE user_payment_info
SET
ammount='110',
status='failed',
transaction_id='0'
WHERE
id=(SELECT id
FROM user_payment_info
WHERE cust_id='771'
ORDER BY id DESC
LIMIT 1)
如何通過從同一表獲取ID更新記錄
我該如何解決這些mysql錯誤
您不能在from子句中指定要更新的目標表
可以幫助我做到這些嗎?
嘗試以下方法:
UPDATE user_payment_info AS t1
INNER JOIN
(
SELECT MAX(id) AS MaxId
FROM user_payment_info
WHERE cust_id='771'
) AS t2 ON t1.id = t2.MaxId
SET t1.ammount='110',
t1.status='failed',
t1.transaction_id='0';
您不必使用子查詢,可以使用UPDATE查詢,其排序為和LIMIT 1:
UPDATE
user_payment_info
SET
ammount='110',
status='failed',
transaction_id='0'
WHERE
cust_id='771'
ORDER BY
id DESC
LIMIT 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.