我想根据'id'值删除特定变量。但下面的代码显示语法错误附近:OFFSET 1.我使用类似的代码,我使用SELECT而不是DELETE,它工作正常,这里做错了什么?谢谢
DELETE FROM users WHERE name = '$name' ORDER BY id ASC LIMIT 1 OFFSET 1
答案 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