mysql如何向表中间插入行

如题。比如表t,其中已有100行数据,想在第10行后插入2行数据,并且auto_increment行随之改变,即新插入的两行id为11、12,之后的数据id各加2,使得原... 如题。比如表t,其中已有100行数据,想在第10行后插入2行数据,并且auto_increment行随之改变,即新插入的两行id为11、12,之后的数据id各加2,使得原11行数据id为13、原12行数据id为14...

非常感谢!
展开
 我来答
百度网友c5643a89b
2010-03-18 · TA获得超过128个赞
知道答主
回答量:99
采纳率:0%
帮助的人:77万
展开全部
先在的问题是你为什么有这个去求?
如果是程序需要我觉得完全没有必要这么做,100行数据还好,如果是几十万行呢?那要消耗多大的资源呀!而且如果ID设置成auto_increment时,ID是无法自己设置的,也就是说你不能update ID!
如果你应用的时候需要将两行数据插入到11,12行,
你只需要查询的时候这样做就可以了:
select top(10)* from talbe //读取前10行数据
union
select 两行数据 //读取需要的两行数据
union
select * from table where id>10 //读取原来的10行后面的数据

UNOIN是将数据组合,然后将数据传到应该程序就可以了。

1楼的不能用的
wqfafyh
2010-03-30
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
update t set id=id+2 where id>10;
insert into t(id,其它字段) values(11,其它字段值);
insert into t(id,其它字段) values(12,其它字段值);
楼上说的很对,大数据的话效率很低,没必要在数据库里面进行排序;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
传说中的鹰王
2010-03-18 · TA获得超过1053个赞
知道小有建树答主
回答量:923
采纳率:87%
帮助的人:552万
展开全部
update t set id=id+2 where id>10
update t set id=id-92 where id>102
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式