首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

insert into有关问题

2012-01-14 
insert into问题我创建一个表之后,用多个INSERT INTO 向该表插入记录,第一个字段是ID,是主键,但执行INSERT

insert into问题
我创建一个表之后,用多个INSERT INTO 向该表插入记录,第一个字段是ID,是主键,但执行INSERT INTO之后,表中的ID字段为什么不是按顺序排列呢?

[解决办法]
我创建一个表之后,用多个INSERT INTO 向该表插入记录,第一个字段是ID,是主键,但执行INSERT INTO之后,表中的ID字段为什么不是按顺序排列呢?

-------------------

主键是聚集的,数据按主键的大小排序,并不是按插入顺序排序。
[解决办法]
我创建一个表之后,用多个INSERT INTO 向该表插入记录,第一个字段是ID,是主键,但执行INSERT INTO之后,表中的ID字段为什么不是按顺序排列呢?

-------------------

或者你的主键是非聚集的(一般主键都是CLUSTERED的),数据就按插入顺序排序,而不按主键大小排列。

不知道楼主指的是哪一种情况?
[解决办法]
建索引就行了。。
create index 索引名 on 表(ID列)--非聚集索引

create clustered index 索引名 on 表(ID列)--聚集索引

[解决办法]
创建新表(My_area_info_tab)测试

SQL code
create table My_area_info_tab(area_id int primary key ,area_name varchar(10))INSERT INTO My_area_info_tab(area_id,area_name) VALUES(1, '北京 '); INSERT INTO My_area_info_tab(area_id,area_name) VALUES(2, '上海 '); INSERT INTO My_area_info_tab(area_id,area_name) VALUES(3, '天津 '); INSERT INTO My_area_info_tab(area_id,area_name) VALUES(4, '重庆 ');select * from My_area_info_tab--drop table My_area_info_tabarea_id     area_name/*----------- ----------1           北京 2           上海 3           天津 4           重庆 (4 row(s) affected)*/
[解决办法]
调换插入顺序
SQL code
create table My_area_info_tab(area_id int primary key ,area_name varchar(10))INSERT INTO My_area_info_tab(area_id,area_name) VALUES(3, '天津 '); INSERT INTO My_area_info_tab(area_id,area_name) VALUES(4, '重庆 ');INSERT INTO My_area_info_tab(area_id,area_name) VALUES(1, '北京 '); INSERT INTO My_area_info_tab(area_id,area_name) VALUES(2, '上海 '); select * from My_area_info_tab--drop table My_area_info_tab/*area_id     area_name----------- ----------1           北京 2           上海 3           天津 4           重庆 */ 

热点排行
Bad Request.