首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在更新倒数第二条记录--在mysql查询中找不到语法错误

问正在更新倒数第二条记录--在mysql查询中找不到语法错误
EN

Stack Overflow用户
提问于 2012-04-04 16:58:38
回答 2查看 329关注 0票数 1

我需要这个查询-更新倒数第二条记录。

代码语言:javascript
复制
UPDATE changes SET checked='' WHERE item_id = 119898 AND type = 'example_edit' AND checked != 'restored' ORDER BY id DESC LIMIT 1, 1

数据库回显:

代码语言:javascript
复制
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1' at line 1

在% 1附近出了什么问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-04 17:02:36

标准更新协议

代码语言:javascript
复制
 UPDATE [LOW_PRIORITY] [IGNORE] table_reference
        SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]

对于你的情况,试试这个

代码语言:javascript
复制
UPDATE changes SET checked='' WHERE item_id = 119898 AND type = 'example_edit' AND checked != 'restored' ORDER BY id DESC LIMIT 1

尝试一下会对你有真正的帮助,代码测试过了。update中的Limit只能使用行计数,而不能使用1,1等。

票数 0
EN

Stack Overflow用户

发布于 2012-04-04 17:05:26

LIMIT可以与UPDATE一起使用,但只能与行数一起使用。请参阅this。

LIMIT子句对可以更新的行数进行限制。

所以这个查询应该是有效的-

代码语言:javascript
复制
 UPDATE 
  changes 
SET
  checked = '' 
WHERE item_id = 119898 
  AND TYPE = 'example_edit' 
  AND checked != 'restored' 
ORDER BY id DESC 
LIMIT 1;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10007953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档