但是 实际 表中的数据 是不是 也会 在数据库中 排好序了呢?
不是,物理上记录的排列不受人为控制。由数据库自行决定。把 读到的  数据 都删除, 请问 如何操作? 
程序中把读出记录的ID保存,然后生成对应的删除语句 delete from table1 where id in (1,2,3,4..) 红色部分用程序生成。

解决方案 »

  1.   

    数据库数据的顺序在进入数据库的时候就固定了你的查询语句的排序是在查询出来结果后,数据库根据你的order by 在内部进行的排序返回给你所以不会影响数据库本身数据的顺序
      

  2.   

    个人不建议使用 in 关键字大批量删除 ,这样的话: Mysql需要等待较长时间,有可能会卡死,会提示提示 “  Error 1317 mysql query execution interrupted”  
    我之前出现过这种情况 ,由于不能对当前表直接进行查询与修改(删除),可以使用辅助表来实现,参考代码如下 :
    DROP TABLE  IF EXISTS  tmp_tname;
    create table tmp_tname as ( select * from table_name  order by  column_name asc );
    delete table_name  item  INNER JOIN tmp_tname  t on  item.id=t.id    ;
    drop table tmp_tname;
    commit;