Změna hodnoty počítadla u databázové tabulky MSSQL   otázka

Databáze

Dobrý den,

mám vytvořenu databázovou tabulku dbo.Users s primárním klíčem UserId, který se vždy po přidání řádku zvýší o 1+ … Bohužel se mi nyní stalo, že po přidání nového řádku (databáze nyní obsahuje 407 řádků, tedy poslední UserId je 407) se UserId nastaví na hodnotu 1431 atd.

Předpokládám, že má tabulka někde uloženu chybnou hodnotu počítadla, která by nyní měla být 407 a proto mi při vytvoření nového řádku hodnota UserId nesouhlasí …

Bohužel se mi i přes pomoc poskytovatele databázového serveru nedaří zjistit, kde se dá hodnota počítadla opravit …

Předem děkuji za pomoc

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslím, že se stejně nelze vyhnout tomu, aby ve sloupci s ID nebyly mezery, čísla nebudou pěkně za sebou, za každé zrušené zadání nového řádku nebo smazání řádku tento lad stejně vezme za své. Jsou-li tabulky propojené, tak nepromyšlený zásah naruší vazby pomocí klíče v další tabulce či tabulkách.

Nevím, zda postačí změnit typ auto increment sloupce UserId na celé číslo a potom zase zpátky, spíš bude potřeba vytvořit novou tabulku stejné struktury a řádky ze stávající do ní vložit.

Možná by pomohlo i něco na tento způsob, zkuste se na to podívat:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 407);

https://docs.microsoft.com/en-us/sql/t-s...

Snad to pomůže...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback