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 ...