首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MySql表中选择并准确删除x行

问从MySql表中选择并准确删除x行
EN

Stack Overflow用户
提问于 2013-12-15 07:39:15
回答 3查看 1.3K关注 0票数 1

我有一个MySql表(Pin_codes)。首先,我想从这个表中选择200行并导出它们,然后删除这200行。

如果这个表的If是连续的,我可以这样做:

代码语言:javascript
复制
SELECT * FROM pin_codes WHERE id<200 and id>1;
DELETE FROM pin_codes WHERE id<200 and id>1;

但是ID是这样的:

代码语言:javascript
复制
52138
52139
52141
52142
52144
52147
52148
52157
52158
...

我怎么能这么做?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-15 07:45:18

代码语言:javascript
复制
Select * from pin_codes order by id limit 200

将给出基于id的前200行,然后可以删除这200个id的

代码语言:javascript
复制
 Delete from pin-codes order by id limit 200

删除前200行

另外,使用列名代替*(查询优化)也是最佳实践。

票数 3
EN

Stack Overflow用户

发布于 2013-12-15 07:56:50

做这样的事:

代码语言:javascript
复制
delete from t1 order by id limit 5;

示例

票数 0
EN

Stack Overflow用户

发布于 2013-12-15 07:47:08

MySql:

代码语言:javascript
复制
SELECT *  FROM table1
ORDER BY ID DESC
LIMIT 200

Server:

代码语言:javascript
复制
   Select FROM table1
    WHERE id IN 
    (
      SELECT TOP 200
        id
      FROM table1
      WHERE YourConditions
      ORDER BY ExplicitSortOrder
    )

上面的查询将删除特定的行子集,您应该显式地指定子查询的顺序:

若要删除200行,请通过将Select关键字更改为Delete来使用上述查询

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20592333

复制
相关文章

相似问题

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