SprintDB Pro - smazání záznamu
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.
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.
Todle mi spise prijde jako vlastnost, ale jen varim z vody, nauzivam ten program. co nejaka nasledna reindexace?
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? ;)
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? ;)
[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í.
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í.