SQL自增列的疑問

2022-12-24 09:50:13 字數 1144 閱讀 7832

1樓:朩朩熋

資料庫原有id欄位,是自增列的,後來把資料全刪除後,想讓id自增列從1開始算起

方法1:

1.dbcc checkident('test',reseed,0) ///dxj: 很牛!!

2.insert into test values(55)

select * from test

顯示結果:

id msum

1 55

方法2:

set identity_insert

允許將顯式值插入表的標識列中。

語法:set identity_insert [ database_name . [ schema_name ] . ] table

set identity_insert dbo.test on

test是表名

注意:運用set identity_insert dbo.test on後,insert into時,必須要把需要插入記錄的欄位寫上,如:

insert into test(id,msum)values(1,55)

insert into test(id,msum)values(2,55)

下面的語句的寫法是錯誤的:

insert into test values(55)

insert into test values(1,55)

保持列名不變很簡單啊,刪除原來那列,加上一個自增列,名字和原來一樣即可:

alter table talbename drop column columnname

alter table talbename add columnname int identity(1,1)

2樓:匿名使用者

一樓說的方法太麻煩了吧。其實也可以這樣實現:

第一步,新建一個臨時自增列

第二步,刪除原來的自增列

第三步,吧新建的子增列重新命名成原先的子增列至於sqlserver的容量,確切的說是受制於你的硬碟大小,一個表放上億條記錄沒有問題,不過資料量大的時候執行效率會降低。

3樓:匿名使用者

是這樣的,自增都這樣,想從1開始再建一表吧,至於最多記錄數,這就要看你用什麼資料庫了

怎麼為sql表中自增欄位新增記錄

先說一下 sql server 通過 identity 來設定 引數有2個,一個是 初始值 一個是 增量 預設情況下 insert 語句中,不能對 identity 的欄位進行賦值。對於 identity 的列 sql server 在 insert 的時候,會自動忽略掉。1 create tabl...

SQL的問題,SQL的一個問題

將截斷字串或二進位制資料。這個是你插入的資料大於你欄位定義的長度,注意一個漢字是佔兩位的 char 我記得預設是1個還是2個位元組,應該定義為char 10 你又沒有聚集函式幹嘛寫group by去掉group by,或者你要是想分組就這樣 select 課程號,min 學號 min 成績 from...

常用的sql語句,常見的SQL語句有哪些

1 ddl 2 dml select語句 update語句 insert into語句 常用的就這3中,但是要學精確不容易 蒐集sql常用的操作語句 常用的也不只這些 1 說明 建立資料庫 create database database name 2 說明 刪除資料庫 drop database ...