如何编写查询,更新表videos
,并将字段name
的值设置为average
为max()的'something',或者更新表,其中average
的大小为第二个值!!!
我认为查询必须看起来像这样!!!
UPDATE videos
SET name = 'something'
WHERE average IN (SELECT `average`
FROM `videos`
ORDER BY `average` DESC
LIMIT 1)
但它不起作用!!!
答案 0 :(得分:0)
UPDATE videos
SET name = 'something'
WHERE videos.id IN (SELECT id
FROM `videos`
ORDER BY `average` DESC
LIMIT 1)
答案 1 :(得分:0)
这里有两件事导致我的mysql版本出现问题(5.0.84) 1.使用子查询中不支持的限制 2.在子查询中使用表格进行更新(视频)
我想不出解决这些问题的好办法。我建议将你要更新的hte行的id拉出到你的代码中,然后在第二个语句中执行更新。如果您使用纯sql并手动执行此操作,那么您可以随时选择临时表,然后根据您在那里插入的ID进行更新。