sql把一张表按照标识id顺序插入另外一张表
我的数据库表示id为标识为是,但是数据库显示不是按照id顺序的,比如第一条id是1第二条id是2034,我想让他按照id顺序读取。我想到可以插入新表,insertinto...
我的数据库表示id为标识为是,但是数据库显示不是按照id顺序的,比如第一条id是1 第二条id是2034,我想让他按照id顺序读取。我想到可以插入新表,insert into Table2 select * from Table1 order by ID,但是插入的新表还是原来的顺序,如果可以的话最好在原表上处理,怎么把显示按照id顺序读取。
展开
3个回答
展开全部
你先查询一下select * from Table1 order by ID
如果id显示为标识的话,那么是递增的,1~2034的话,可能中间的数据被删除了
标识列被删除时是不会补足空缺的数值的
如果id显示为标识的话,那么是递增的,1~2034的话,可能中间的数据被删除了
标识列被删除时是不会补足空缺的数值的
追问
恩 这个我知道,select * from Table1 order by ID是按照id顺序排列的。但是insert into就不是。
追答
那就是你的tb1跟tb2的id列都不是聚集索引导致的
一个表只有唯一的一个物理排序,就是聚集索引
即便你插入tb2时是按顺序插入的,但是数据会按聚集索引的顺序,物理的重新排列
这样你再展示的时候,默认查询时就只会以聚集索引列排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把数据库的默认索引改成ID,在数据库默认按ID排序
追问
怎么修改默认索引??
追答
默认索引,也就是聚合索引,你在SQL Management Studio 里面找到表,右击+号打开,找到索引,看看原先的聚合索引是哪个,改成你需要的就可以了,更改聚合索引要把原先的索引改成非聚合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询