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