通过使用OFFSET指定id值来删除变量

时间:2012-08-01 12:48:41

标签: mysql

我想根据'id'值删除特定变量。但下面的代码显示语法错误附近:OFFSET 1.我使用类似的代码,我使用SELECT而不是DELETE,它工作正常,这里做错了什么?谢谢

DELETE  FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1 OFFSET 1

4 个答案:

答案 0 :(得分:0)

您无法在DELETE的LIMIT子句中指定偏移量。

简单使用:

DELETE  FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1;

答案 1 :(得分:0)

尝试

DELETE  FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1,1

答案 2 :(得分:0)

DELETE查询中无法使用OFFSET。

答案 3 :(得分:0)

LIMIT语句中的偏移量组件在MySQL DELETE语句中不可用,但SELECT语句中允许 。< / p>

那么你可以做些什么来解决这个问题,你是否可以在DELETE操作中加入一个子选择,然后它会给你你想要的结果:

DELETE a FROM users a
INNER JOIN
(
    SELECT id
    FROM users
    WHERE name = '$name'
    ORDER BY id
    LIMIT 1,1
) b ON a.id = b.id