webForumDet fria alternativet
Logga in / Bli medlem

samma identity

Databaser & SQL

5 svar · 311 visningar · startad av Janspeed

Medlem sedan jan. 2001510 inlägg
Trådstart#1

Hej!

Har en tabell med en massa rader i en databas i SQL S2k. Nu skulle jag vilja slänga in en Identity kolumn också. Problemet är att om jag tömmer tabellen och matar in nytt data så kommer även identity att fortsätta att räkna de nya raderna där den slutade sist. Så istället för att räkna om på nytt från 1 så räknar den från tex. 800 där den slutade sist.

Finns det nått sätt att få den att räkna från början. Typ i princip bara räkna antalet rader?

Tacksam för hjälp.

/JANspeed

Medlem sedan juni 200032 967 inlägg
#2

Nollställs inte räknaren om du trunkerar tabellen?`

Truncate table Tabellen

Mvh,

Medlem sedan jan. 2001510 inlägg
#3

Vad gör truncate för nått?

Medlem sedan juni 200032 967 inlägg
#4

Det står så här i SQL Server 2000 Books-on-line:

The DELETE statement removes rows one at a time and records an entry in the transaction log for each deleted row. TRUNCATE TABLE removes the data by deallocating the data pages used to store the table's data, and only the page deallocations are recorded in the transaction log.

TRUNCATE TABLE removes all rows from a table, but the table structure and its columns, constraints, indexes and so on remain. The counter used by an identity for new rows is reset to the seed for the column. If you want to retain the identity counter, use DELETE instead.

Mvh,

Medlem sedan jan. 2001510 inlägg
#5

Ah... nice! :)

Tackar!

Medlem sedan juli 200012 978 inlägg
#6

Tjusigt @nders med citat och allt. Jag har funderat på samma sak.

256 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)