[英]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.