sql向一个已经有数据的表增加相同记录

表结构是这样的:
39631 1
39631 2
39631 3
39631 4
39632 4
39632 10
39632 11
39633 4
39633 10
39633 11
39634 4
39634 10
39634 11
..... ..

我希望每个id所对应的后面那一列都增加一行,
如:
39631 1
39631 2
39631 3
39631 4
39631 21
39632 4
39632 10
39632 11
39632 21
39633 4
39633 10
39633 11
39633 21
39634 4
39634 10
39634 11
39634 21
这样的语句应该怎么写?

增加的全部都是21吗,试试看这个语句能否执行:
INSERT INTO 表名 SELECT UNIQUE uid,21 FROM 表名

有的系统不支持往同一个表里面插入数据,你需要通过临时表来过度,比如下面的三个语句
SELECT UNIQUE uid,21 FROM 表名 INTO TEMP tmp_table;
INSERT INTO 表名 SELECT * FROM tmp_table;
DROP TABLE tmp_table;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-26
declare @i int
set @i = 1
while @i < 5
begin
set @m =3963@i
insert into 表名(字段1,字段2) values (@m,21)

set @i = @i+1
end

显示的话是排序的问题 在查询该表的时候后面添加 order by 字段1
即可
第2个回答  2008-03-26
如果插在后面还好说
如果插在中间的话还考虑该表的主键和自动增长的问题

先把问题描述清楚!!!

大家正在搜