簡體   English   中英

在同一表的更新上的子查詢mysql

[英]subquery mysql on Update in same table

我知道你們當中有些人會討厭我問我,但是我有這個:

UPDATE `f.forums` 
   SET `order` = 66
     , forumHeader = (SELECT forumName FROM  `f.forums` WHERE id = 1) 
 WHERE `id` = 8

顯然不能正常工作,我搜索了2個小時的問題,得到了很多內部聯接和內容,但無濟於事,我從同一張桌子獲得了名字。

我現在已經選擇不了了。

我沒有離開SELECT forumName

嘗試加入,由於一個或另一個原因而失敗

我可以在PHP中使用第二個$ sql查詢來處理此問題,但我知道可以在一個數據庫中完成。

1)您的(可能)使用不正確,應該是`f`.`forums`(除非表名實際上是f.forums否則。不應在內部。

2)您無法使用自身的子查詢來更新表。

我相信這可以實現您想要的:

UPDATE `f`.`forums` AS f1, `f`.`forums` AS f2
   SET f1.`order` = 66
     , f1.forumHeader = f2.forumName
WHERE f1.`id` = 8 AND f2.id = 1
;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM