MySQL里IN子查询使用LIMIT

2009年12月3日 | 分类: 技术相关 | 标签: ,

如题,本来可以用一条SQL语句完成的为什么非得拆开呢?

本来想这样写的

UPDATE `t1` SET `recommend` = 1 WHERE `id` IN(
    SELECT `id` FROM `t1` WHERE `userid` = 176 ORDER BY `id` LIMIT 5)

却提示This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’

不让这么用,那么再加一层呢?

UPDATE `t1` SET `recommend` = 1 WHERE `id` IN(
    SELECT * FROM (
        SELECT `id` FROM `t1` WHERE `userid` = 176 ORDER BY `id` LIMIT 5) AS t2)

居然成功了???

目前还没有任何评论.

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。