社区
MS-SQL Server
帖子详情
主键ID是主动编号,我想在记录为10的记录 后面插入一条记录,不知道怎么做?
rayofdawn
2003-05-16 02:29:33
...全文
74
19
打赏
收藏
主键ID是主动编号,我想在记录为10的记录 后面插入一条记录,不知道怎么做?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happydreamer
2003-05-17
打赏
举报
回复
To rayofdawn ()
不好意思,没把思路写清楚,抱歉,以后注意
To HawaiiLeo(罗马数字)
不行, 不行, 不要这么称呼,水平还很差,其实这个方法也很笨的
看看各位还有什么好的解决方法
iainet
2003-05-17
打赏
举报
回复
如果现在记录是10的话,自动为11
如果小于10,用set identity_insert on,然后insert
如果已经大于10,可以将10后的依次向后移动!就是小黑说的!
select * into #temp from table
update table
set col1=a.col1,col2=a.col2
from (select * from #temp) a
where table.id>10 and a.id=a.id+1
pqc4391
2003-05-17
打赏
举报
回复
有必要吗?SQL里面对记录的具体顺序好象没什么要求,重要是索引建立.
doudouniwan
2003-05-17
打赏
举报
回复
SET IDENTITY_INSERT table on
insert into table (11,...)
SET IDENTITY_INSERT table off
a1n1
2003-05-16
打赏
举报
回复
mark1
HawaiiLeo
2003-05-16
打赏
举报
回复
聚集索引就是你插入数据的时候,数据库会自动给你排序。
如下:其中ID是聚集索引
ID name
1 tony
3 Leo
5 michel
你插入记录(2, 'jeck')
ID name
1 tony
2 jeck
3 Leo
5 michel
HawaiiLeo
2003-05-16
打赏
举报
回复
小黑大侠已经说清楚了。
--CLUSTERED是保证这个索引是聚集索引
CREATE CLUSTERED INDEX indexname on table(column)
SELECT * into #t FROM table
UPDATE table
SET col1=a.col1,col2=a.col2..
FROM
( SELECT * FROM #t) a
WHERE table.id = #t.id + 1 and table.id > 11 --使原11至以后的记录都加一
--然后插入id=11的记录 和原表的最后一条记录
INSERT INTO talbe (col1,col2...) SELECT col1,col2 .. FROM #t ORDER BY id DESC
rayofdawn
2003-05-16
打赏
举报
回复
11原来已有数据了,
怎么“要插入的字段的ID设置为11,
而11以后的ID全加一。”?
CrazyFor
2003-05-16
打赏
举报
回复
如果最大是10,会自动插入11
如果11空缺
可以用
SET IDENTITY_INSERT table on
insert into table (11,...)
SET IDENTITY_INSERT table off
而且你必须把ID字段设置为聚集索引
rayofdawn
2003-05-16
打赏
举报
回复
不大明白。
happydreamer
2003-05-16
打赏
举报
回复
CREATE CLUSTERED INDEX indexname on table(column)
SELECT * into #t FROM table
UPDATE table
SET col1=a.col1,col2=a.col2..
FROM
( SELECT * FROM #t) a
WHERE table.id=#t.id+1 and table.id>11
然后插入id=11的记录 和原表的最后一条记录
INSERT INTO talbe (col1,col2...) SELECT col1,col2 .. FROM #t ORDER BY id DESC
rayofdawn
2003-05-16
打赏
举报
回复
up
rayofdawn
2003-05-16
打赏
举报
回复
HawaiiLeo(罗马数字)
怎么使用聚集索引?
19191919
2003-05-16
打赏
举报
回复
补充:
如果11空缺
可以用
SET IDENTITY_INSERT table on
insert into table(自动编号字段(列)不可缺少,必须列出)
values(11,...)
SET IDENTITY_INSERT table off
rayofdawn
2003-05-16
打赏
举报
回复
问题是11不是空缺的。
psxfghost
2003-05-16
打赏
举报
回复
直接insert就是第十一条了啊!
如果你的字段是自动增长的话
caiyunxia
2003-05-16
打赏
举报
回复
SET IDENTITY_INSERT
允许将显式值插入表的标识列中。
语法
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
参数
database
是指定的表所驻留的数据库名称。
owner
是表所有者的名称。
table
是含有标识列的表名。
caiyunxia
2003-05-16
打赏
举报
回复
如果最大是10,会自动插入11
如果11空缺
可以用
SET IDENTITY_INSERT table on
insert into table (11,...)
SET IDENTITY_INSERT table off
HawaiiLeo
2003-05-16
打赏
举报
回复
我认为(水平有限):
能插,但不在记录11,
除非你把ID字段设置为聚集索引,
而且使用触发器,在插入时把要插入的字段的ID设置为11,
而11以后的ID全加一。
Sql
插入
记录
返回
主键
id
有时候,我们的
主键
id
是自动生成的,然后
想
要
插入
记录
后,就取得这条
记录
的
id
,怎么
做
呢? 比如我现在的一个student表的字段为:
id
(PK autoIncrement), name, school, tel, password。这五个,现在我要
插入
一条
记录
,
id
是自动生成的, 不用传入。 应该这样: Connection conn = null; int
id
= 0; tr...
mysql
插入
记录
时,
主键
id
的三种处理方式:1、显式设置;2、查询出表中
主键
ID
最大值+1
做
为添加下
一条
数据的
主键
ID
;3、表结构设置
id
自增,
插入
时不需要设置
id
值
mysql
插入
记录
时,
主键
id
的三种处理方式: 1、显式设置; 2、查询出表中
主键
ID
最大值+1
做
为添加下
一条
数据的
主键
ID
; 3、表结构设置
id
自增,
插入
时不需要设置
id
值 建议使用查询出表中
主键
ID
最大值+1
做
为添加下
一条
数据的
主键
ID
方式
【MySQL用法】MyBatis 多对多 中间表
插入
数据,添加
记录
后获取
主键
ID
1、需求内容 有一个很常见的需求,即添加
记录
后获取添加后的
主键
ID
,特别是在一次前端调用中需要
插入
多个表的场景。除了添加单条
记录
时获取
主键
值,有时候可能需要获取批量添加
记录
时各
记录
的
主键
值,MyBatis从3.3.1版本开始支持批量添加
记录
并返回各
记录
主键
字段值。 比如我在
做
这个员工管理系统的时候,由于user和role是多对多关系,且user
主键
是自增的,所有我们没办法提前知晓这个user_...
数据库
主键
ID
自增,两种方法获取
插入
数据库那条数据自动生成的
主键
ID
值
在开发过程中,我们可能会遇到这样的一种情况,我们保存
一条
数据。如果这条数据的
主键
ID
是由用户决定的,这样我们在获取
主键
ID
的时候,只需要让前端的同时传递给我们就可以了;如果
主键
ID
设置为自增,是在用户新增数据操作时自动生成的,在后续业务逻辑中需要使用生成的
主键
ID
值,我们又该如何获取呢?本篇我们就来说说两种常用方法获取自动生成的
主键
ID
;
数据库能
插入
一条
记录
但是不能
插入
第二条([Err]
10
62 - Duplicate entry ‘0‘ for key ‘PRIMARY‘)
数据库能
插入
一条
记录
但是不能
插入
第二条 今天小谷在
做
微信小程序时,跑一个
插入
功能报了如下错: [Err]
10
62 - Duplicate entry '0' for key 'PRIMARY' 后来我发现,数据库中只能
插入
一条
数据,当出入第二条数据的时候就报错。 检查发现是
主键
没有设置自动增长,而且我
插入
的时候忽略的
主键
(
id
)。 修改字段自增: alter table 表名 change i...
MS-SQL Server
34,837
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章