删除行索引中的记录

jgzswidk  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(394)

我对基于行索引或计数删除记录有点困惑。假设我有以下三行:

ID | userId | postID  
15      1       10  
16      1       10  
17      1       10

使用查询获取这些数据:

SELECT * FROM postimages where postID=10

我想根据一个名为 index .. 索引可以是1、2或3,因此查询应该是这样的:

delete from postimages where postID=10  -- here I'm stuck

有没有可能?

t98cgbkg

t98cgbkg1#

是的,这是可能的,只要使用 limit-offset ,如下所示:

delete from postimages where postID=10 limit 1 offset 1

此查询将删除1行,因为 limit 1 ,这一行将是第二行,因为 offset 1 .
删除第一行-使用 limit 1 offset 0 ,
删除第二行-使用 limit 1 offset 1 ,
删除三维行-使用 limit 1 offset 2 等等。
免责声明:为了获得可靠的经验,您必须详细说明 order by 子句,例如:

delete from postimages where postID=10 order by ID limit 1 offset 1
unguejic

unguejic2#

删除 n -像这样的唱片。确保按所需列对结果进行排序,在本例中为 id 列:

DELETE FROM postimages WHERE postID=10 ORDER BY id LIMIT n-1,1

相关问题