資料庫中標識主鍵因刪除資料不連續的問題

2022-09-13 16:21:09 字數 595 閱讀 7838

在資料庫表中,如果指定了主鍵為「標識」,並且開啟了自增開關,當刪除表中末尾某些資料再新增新資料時,主鍵標識就會不連續,這是因為資料庫內部並未完全釋放刪除資料的記憶體,為了使編號連續,需要專門寫相關的儲存過程。

一、需要將表中主鍵標識的「自動增加」功能關閉;一般設定主鍵為int型別。

二、編寫儲存過程

create trigger inserttrigger

on products

instead of insert

asbegin

set nocount on

declare @i int

set @i =0

select * into # from inserted

select @i=max(productid) from products

@i = @i+1

update # set productid= @i

insert products select * from #

end

其中:「inserted」是新插入資料的臨時表,該表中的資料還未交付到資料庫表中;

「#」:當前新增內容的資料表記錄。

Oracle資料庫 刪除資料庫

1 單擊 開始 oracle oradb12home1 database configuration assistant 進入刪除步驟的第一步,選擇 刪除資料庫 2 單擊 下一步 按鈕,如圖所示。在資料庫列表中選擇需要刪除的資料,例如test,並輸入使用者名稱和口令。3 單擊 下一步 按鈕,開啟 管...

mysql刪除資料庫資料庫 MySQL刪除資料庫

刪除資料庫是指在資料庫系統中刪除已經存在的資料庫。資料庫刪除之後,原來分配的空間將被收回。需要注意的是,資料庫刪除之後該資料庫中所有的表和資料都將被刪除。因此刪除資料庫要特別小心。一 通過sql語句 mysql中,刪除資料庫通過sql語句drop database。其語法格式如下 drop data...

刪除資料庫使用者

usr bin ksh 1 upload the shell command to the server 2 grant the 777 to the command 3 use method like as follow dropuser.sh username the username as t...