Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

SprintDB Pro - smazání záznamu

macula_ce4you (691)|31.5.2005 21:39
Zdravím všechny. Potřeboval bych pomoci při následujícím problému.
Vytvořím novou databázi s prvním "field" automatického číslování.
Např.

Name - ID
Type - Integer
Indexed - ASC
AutoIncremental

Když přidávám nové záznamy tak se automaticky číslují. Problém nastává, když nějaký záznam vymažu a zadám nový, tak číslování pokračuje i se smazaným záznamem. Tím myslím, že se číslování nepřepočítá. Nemá někdo zkušenosti jak toto vyřešit? Děkuji.
hybo (3107)|1.6.2005 07:04
Todle mi spise prijde jako vlastnost, ale jen varim z vody, nauzivam ten program. co nejaka nasledna reindexace?
beecher (9270)|1.6.2005 08:00
Jo, tohle je vlastnost vsech standardnich databazi...
Obejit to lze pouze vlastnim "autoincrementem".

Nehlede na to, co budete delat, kdyz smazete zaznam nekde uprostred? To chcete zbytek precislovat? Co kdyz ta tabulka bude mit milion zaznamu? Nedej boze, ze by se to ID pouzivalo v jinych tabulkach jako identifikator zaznamu nadrazene tabulky (napr. CompanyID z tabulky Companies pouzito v tabulce CompanyContacts jakozto identifikator Company daneho Contactu)... Uz asi vite, proc se to neprecislovava, ze? ;)
macula_ce4you (691)|1.6.2005 08:51
[QUOTE="beecher"]
Nehlede na to, co budete delat, kdyz smazete zaznam nekde uprostred? To chcete zbytek precislovat? Co kdyz ta tabulka bude mit milion zaznamu? Nedej boze, ze by se to ID pouzivalo v jinych tabulkach jako identifikator zaznamu nadrazene tabulky (napr. CompanyID z tabulky Companies pouzito v tabulce CompanyContacts jakozto identifikator Company daneho Contactu)... Uz asi vite, proc se to neprecislovava, ze? ;)[/QUOTE]

To je fakt. Ale já jsem si omylem vytvořil několik prázdných záznamů, které jsem zase smazal, místo abych to do nich později dopsal. Tím se mi posunulo číslování a abych nemusel zadávat číslovaní ručně, tak jsem hledal nějakou možnost jak to vyřešit.

A NAŠEL.
Musí se vymazat poslední nadbytečné záznamy. Pak stačí vypnout a zapnout funkci AutoField a počítání pokračuje od posledního záznamu. Samozřejmě to funguje jen na ty poslední záznamy. Nepřeindexuje to celou databázi. I když taková funkce by nebyla k zahození.