mysql-用LIMIT x,y更新 [英] mysql - UPDATE with LIMIT x, y

查看:262
本文介绍了mysql-用LIMIT x,y更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

UPDATE table SET checked = 1 WHERE field = 'xxx' LIMIT 1

工作正常,但是

UPDATE table SET checked = 1 WHERE field = 'xxx' LIMIT 1, 10

抛出错误"#1064-您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以获取在第1行的'10'附近使用的正确语法"

为什么不可能?我想更新除第一行以外的所有内容.

Why it is not possible? I want to update everything except first row.

推荐答案

LIMIT仅仅是可以更新多少行的上限.

LIMIT in an UPDATE clause is merely an upper limit on how many rows may be updated.

这与SELECT中的情况不同,在这里您可以忽略所有内容,但可以忽略要处理的结果行的某个子范围.

It's not like in a SELECT where you can ignore all but a certain subrange of result rows to deal with.

如果您确实需要这样的内容,则应使用具有LIMIT限制的VIEW,并在其上执行UPDATE.

If you really need something like this, you should use a VIEW with the LIMIT restriction, and perform the UPDATE on that.

这篇关于mysql-用LIMIT x,y更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆