『壹』 如何手動重置sql 主鍵ID
怎麼重置有標識的主鍵,有時主鍵ID,設置自動增量後,要怎麼重置:如 ID 主用用到SQL的這個功能: dbcc checkident(test, reseed, 0)
『貳』 SQL資料庫列自動生成編號
兩種方法:
1、用Truncate
TRUNCATETABLEname可以刪除表內所有值並重置標識值
2、用DBCC CHECKIDENT
DBCCCHECKIDENT('table_name',RESEED,new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,
但如果表內有數據,則重設的值如果小於最大值可能會有問題,這時可以用 dbcc checkident("bc_pos",reseed)即可自動重設值。
注意:
只能為不允許空值且數據類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設置標識屬性。此外,不能為主鍵列設置標識屬性。
(2)sqlreseed擴展閱讀:
關於上述標識列的引用
如果在SQL語句中引用標識列,可用關鍵字IDENTITYCOL代替,例如,若要查詢上例中ID等於1的行,
以下兩條查詢語句是等價的:
1、SELECT * FROM T_test WHERE IDENTITYCOL=1
2、SELECT * FROM T_test WHERE
『叄』 SQL Server 命令dbcc checkident(表名,reseed,0) 有的表1開始 有的0開始為什麼怎麼讓他都從1開始
1、語句是起效的。如果是reseed, 0,則新的ID將為0;
如果都寫dbcc checkident(表名,reseed,1) ,是不是從1開始 -- yes
2、此語句只是設置了新的計數器,對於表中已經有的記錄,不作改變;
3、新的seed,盡量>表中已有記錄的最大值(該ID欄位)。否則,不斷運行,有可能出現「重復值」錯誤
4、如果想循環使用,通常使用mod運算符來處理,並及時刪除過期數據
『肆』 怎樣在sql2005中重置自動編號
在SQL Server中,要將表中的自動編號ID重新開始排列有兩種方法:
方法1:
truncate table 你的表名 --這樣不但將數據刪除,而且可以重新置位identity屬性的欄位。
truncate table jsq
方法2:
delete from 你的表名?
dbcc checkident(你的表名,reseed,0) 重新置位identity屬性的欄位,讓其下個值從1開始?
truncate命令不但會清除所有的數據,還會將IDENTITY的SEED的值恢復到原是值。
而DBCC CHECKIDENT則更加方便一些,可以在不刪除數據的情況下指定SEED的值。
1. truncate table tablename
2. DBCC CHECKIDENT (tablename,reseed,1)
『伍』 怎樣清空SQL Server以前的數據
delete from 表名
刪改表中以前的數據。。。
『陸』 為什麼我的sql 插入失敗 請高手解答!
請把提示信息帖出來,插入失敗一般原因:
1.欄位和值不一致。
2.數據類型強制轉換錯誤。
3.標點符號。
4.數據類型長度。
通過上述幾個方面可以找出你的問題答案,當然原因不止這一些。