❶ 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