資料庫自增主鍵的問題

2021-07-12 06:38:18 字數 768 閱讀 9945

--刪除原表資料

--並重置自增列,對於有外來鍵的資料 truncate 無法刪除

truncate table tablename

--只刪除資料,標識值不清除

delete from tablename

--設定允許顯式插入自增列

set identity_insert tablename on

--設定不允許顯式插入自增列

set identity_insert tablename off

--查詢當前標識值

dbcc checkident('customerservice_realtime',noreseed):

dbcc checkident('customerservice_realtime')

--重置標識值

dbcc checkident (tablename,reseed,0)

dbcc checkident (tablename,reseed)

查詢當前主鍵:

select @@identity

備註:@@identity和scope_identity()的區別

1.@@identity不受作用域(儲存過程、觸發器、函式或批處理)的限制

2.scope_identity()受作用域((儲存過程、觸發器、函式或批處理))的限制,只返回當前作用域中的最後乙個identity值

使用@@identity的時候需要額外小心,不要查到其他表的主鍵上去了~~~~

Oracle資料庫主鍵自增

在學習mysql時,我們很容易通過auto increment就能實現主鍵自增的功能,但是在oracle資料庫中,是沒有這個關鍵字的,所以也不能通過這樣來實現主鍵自增。下面我就為大家介紹兩種實現主鍵自增的方法。兩種方法的基礎都有乙個概念就是序列 sequence 的概念,一種是利用序列和顯式呼叫的方...

資料庫主鍵自增策略

資料庫主鍵自增策略 1.自增長主鍵策略 優點 簡單,不需要程式做特別處理 缺點 這種方法對以後如果專案移植到其他資料庫改動會比較大,而且如果多表合併,就會出現重複的主鍵 2.使用時間戳 隨機數 優點 時間簡單,與資料庫無關,移植性較好 缺點 長度太長,最少也得20位,不進占空間並且建索引的話效能會比...

各資料庫的自增主鍵

1.db2自增主鍵 create table db2 zzzj t id bigint primary key not null generated by default as identity start with 1 increment by 1 t char char 50 t varchar...