❶ sql的自增列如何重置
--操作的过程中,注意一点,标识列自增是不能修改的,那么首先
--去除该列自增的标识,然后再修改id,成功修改后,再加上标识
--r如果不修改标识,会报错:“无法更新标识列”
create table #a
(ids int,
names varchar(100)
)
--插入测试数据,序号从100开始的,表示你当前表的情况
declare @a int
set @a=100
while @a<200
begin
insert #a(ids)
select @a
set @a=@a+1
end
--假定还有一个#b表也引用了该序号
--插入测试数据到#b
select ids n_id,names ff into #b from #a
--好,现在开始处理序号问题了,用临时表#tmp过渡
--这里用了一个标识列,请注意!
--将带一个新的序列的数据插入到表#tmp中
select identity(int,1,1) flag, * into #tmp from #a
--看看结果是不是有了新的序列了,呵
select * from #tmp
--那么现在就利用#tmp表来更新所有用到该序列的表
--更新#a
update #a set ids=flag from #a a,#tmp b where a.ids=b.ids
--更新其他表引用了该序列的,比如#b
update #b set n_id=flag from #b a,#tmp b where a.n_id=b.ids
❷ 请问如何修改SQL表里面的一个ID序号。我想把现有的账户ID序号为5改成。3
你用的应该是ACCESS
id自动编号的,这没有办法修改。唯一的办法你只有复制这个表
只复制结构,然后一条一条的粘贴过去。非常蠢的办法,也是没有办法的办法!或者把ID改成整数型,但是以后每次添加数据都必须给一个不重复的数字添加的表里!
❸ 我想在程序中写一条sql语句,删除表中某条信息,然后主键id重置,不出
一般是这样的,
启动事务,
提交主表,
主表提交不成功,回滚事务,
主表提交成功,取得刚保存的主表D值,提交从表(含主表ID字段值)
从表提交不成功,回滚事务(主表也将删除)
从表提交成功,提交事务,完成操作
查询当然很容易:
SELECT * FROM 主表,从表 where 主表.ID=从表.ID
❹ delphi中,怎样将每天录入sql表的第一条数据的id重置为1
我最近也在做类似的功能,由于不在电脑旁,就说说思路好了。
我没有使用数据库的自动编号功能,而是自己生成号码写入的。比如订单自动编号,格式为 前缀+日期+编号,比如id201907270001,前2位是前缀,中间10位为日期,后4位为编号。生成单号的时候,查询订单编号里包含今天日期的订单并且降序排列,取第一条,使这条记录的编号+1作为新编号,如果今天还没有记录,就插入id201907270001
❺ 我想修改数据库SQL表中id,怎样让它从1开始呢
update tablename set id=rownum
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。
❻ sql server id 重置
执行
truncate table 表明
可以 清楚所有表中记录 自增列 重置 成1 开始
表 还在
但是 如果表中有外键约束 就不行 最省事的办法如下:
(从外键表 开始 删除)
右键点击表→编写表脚本为→DROP和CREATE到→新查询编辑器窗口
执行~
❼ 《mysql》中怎么将表的“ID”重新排序
使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可:
方法一:
alter table tablename drop column id;
alter table tablename add idmediumint(8) not null primary key auto_increment first;
方法二:
alter tabletablename auto_increment=0
方法二不会清空已有数据,操作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。
$sql="deletefrom$table_vote";
mysql_query($sql,$link);
$sql="altertable$table_voteauto_increment=1";
mysql_query($sql,$link);
❽ 如何让mssql 某个表 重置表ID 或者从某个数字开始。。。
其实有个比较简单的做法,就是删除表ID列,然后在重新创建一个。
当然还有其他比较复杂的方法。楼主可以网络找一下。
如果楼主有什么不明白的可以HI网络我~~
❾ 如何手动重置sql 主键ID
怎么重置有标识的主键,有时主键ID,设置自动增量后,要怎么重置:如 ID 主用用到SQL的这个功能: dbcc checkident(test, reseed, 0)
❿ 修改数据库中表的id
思路:
1、首先搞清楚所有表的主外键关系
2、取消全部表的主键自增标识列,方便你后续的直接修改ID
例如:
execsp_configure'allowupdates',1
reconfigurewithoverride
GO
----取消标识列标记
updatesyscolumnssetcolstat=0whereid=object_id('表名')andcolstat=1
GO
----恢复标识列标记
updatesyscolumnssetcolstat=1whereid=object_id('表名')andname='标识列名称'
3、写个SQL脚本,修改ID,在修改的时候,一并更新全部表里的此ID值
例如:
declare@old_idasint,@new_idasint
select@old_id=12,@new_id=123
update表名1setid=@new_idwhereid=@old_id
update表名2setid=@new_idwhereid=@old_id
update表名3setid=@new_idwhereid=@old_id
.....
update表名nsetid=@new_idwhereid=@old_id