簡體   English   中英

如何使用subselect更新MySQL表

[英]How do I update MySQL table, using subselect

我怎么能寫查詢,更新表videos ,並將字段name的值設置為average是max()的“某物”,或更新表,其中average按大小具有第二個值!

我認為查詢必須看起來像這樣!!!

UPDATE videos 
   SET name = 'something' 
 WHERE average IN (SELECT `average`
                     FROM `videos`
                 ORDER BY `average` DESC
                    LIMIT 1)

但這不起作用!!!

UPDATE videos 
   SET name = 'something' 
 WHERE videos.id IN (SELECT id
                     FROM `videos`
                 ORDER BY `average` DESC
                    LIMIT 1)

這里有兩件事導致我的mysql(5.0.84)版本出現問題1.在子查詢中使用不支持的限制2.在子查詢中使用表進行更新(視頻)

我想不出解決這些問題的好方法。 我建議將要更新的行的ID提取到代碼中,然后在第二條語句中執行更新。 如果您使用純SQL並手動執行此操作,則始終可以選擇一個臨時表,然后根據您在其中插入的ID進行更新。

暫無
暫無

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

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