Microsoft SQL Server ondersteunt het gebruik van een id-kolom per tabel. Een id-kolom bevat een numerieke waarde die kan worden gebruikt als een sleutel of referentie waarde. ID-kolommen worden automatisch opgehoogd telkens wanneer die een nieuwe rij wordt toegevoegd aan de tabel. De waarde van de identiteit begint bij een gebruiker opgegeven waarde, met de naam van het zaad, of 1 als geen waarde is opgegeven, en verhogingen van door de gebruiker opgegeven bedrag, genaamd de aanwas, of door 1 als geen waarde is opgegeven. Resetten van de eerste waarde of toename van de id-kolom vereist ofwel daalt de kolom en een nieuwe thuisgroep te maken of de tabel afgekapt en loopt DBCC CHECKIDENT.
Wat die u nodig hebt
- Beheerdersrechten naar de database
Drop en opnieuw een kolom
Een verbinding met de gewenste database met behulp van Microsoft SQL Server Management Studio of voorkeurstoepassing openen.
Typ een query om de bestaande id-kolom neer te zetten. Dit moet gebeuren voordat u een nieuwe id-kolom maakt omdat elke tabel kan slechts één kolom identiteit hebben. De syntaxis is:
ALTER TABLE [table_name] DROP COLUMN [kolomnaam]
Dit zal de huidige identiteit kolom volledig verwijderen uit de tabel, waardoor het verlies van de bestaande id-waarden. Als deze waarden nodig zullen zijn, moeten zij worden back-up of eerst gekopieerd naar een non-identiteit rij.
Typ en uitvoeren van een query als een nieuwe identiteit kolom wilt toevoegen. De syntaxis is:
ALTER TABLE [table_name, ADD COLUMN [kolomnaam] identiteit ([seed],[increment])]
Levering van uw gewenste startpunt voor het zaad en de increment-waarde voor de toename. Dit zal een nieuwe kolom maken met geen overgeslagen gegevenswaarden.
Met behulp van afkappen en DBCC CHECKIDENT
Een verbinding met de gewenste database met behulp van Microsoft SQL Server Management Studio of voorkeurstoepassing openen.
Afkappen in de tabel. Hiermee verwijdert u alle gegevens uit de tabel, dus zorg ervoor dat er is geen informatie die u wenst te houden. De syntaxis is:
TRUNCATE [table_name]
Voer DBCC CHECKIDENT als de zaad-waarde wilt aanpassen. Dit verandert niet de waarde van increment. Toename waarden kunnen alleen worden gewijzigd met behulp van de methode in de sectie 1. De syntaxis hiervoor is:
DBCC CHECKIDENT([table_name], RESEED, [new_seed])
De nieuwe waarde van het zaad zal de eerste waarde die wordt gebruikt wanneer u een nieuwe rij invoegt.
- ID-waarden worden soms gebruikt als primaire sleutels. Als een belangrijke relatie bestaat, kunnen de relaties worden ontkracht door de id-kolom voort. Uw gegevens zorgvuldig door voordat u probeert dit te beoordelen.
- Databases met behulp van replicatie hebben bijzondere bezorgdheid over id-kolommen. Raadpleeg de bronnen voor meer informatie.
- Tabel afkappen, zoals gepresenteerd in paragraaf 2, volledig verwijdert alle gegevens uit de tabel en mag nooit worden gebruikt als de tabel belangrijke gegevens bevat.