Resetowanie klucza ID.

Odpowiedz Nowy wątek
2011-08-15 12:26
0

Witam, w sumie bardziej z ciekawości niż potrzeby. Moja baza danych pobiera pewne dane za pomocą skryptu php (curl), jakby nie było robi się dość sporych rozmiarów, więc po woli zacznę kasować rekordy starsze niż 2 tygodnie. Jednak wtedy najnowszy wpis nie będzie miał klucza id = 0, lecz 1453, 1865 czy coś innego. Jednak dla wygody w pisaniu nowych udoskonaleń skrypty byłoby dobrze, gdyby najnowszy wpis miał id = 0. Jak zresetować wszystkie klucze id w bazie i je przekonwertować, tak aby najnowszy miał id = 0, następne id = 1 itp.?

Pozostało 580 znaków

2011-08-15 12:39
Anonim
0

Wyjasnij w czym wygodniejsze jest operowanie na id = 0 od operowania na id = 1234 przy zalozeniu, ze id = 1234 jest najmniejszym (czyli najstarszym - przy zalozeniu autoinkrementacji klucza glownego) id w tabeli? Nie rozumiem za bardzo twojej logiki....

Pozostało 580 znaków

2011-08-15 13:24
0

ZTCW, musiałbyś usunąć tabelę i utworzyć ją jeszcze raz, ale tak się nie robi.


Pozostało 580 znaków

2011-08-15 13:44
0
Anonim napisał(a)

Wyjasnij w czym wygodniejsze jest operowanie na id = 0 od operowania na id = 1234 przy zalozeniu, ze id = 1234 jest najmniejszym (czyli najstarszym - przy zalozeniu autoinkrementacji klucza glownego) id w tabeli? Nie rozumiem za bardzo twojej logiki....

Nie musisz, to nie jest mi do szczęścia potrzebne ;) Rozumiem, że nie ma innego wyjścia jak wszystko skasować?

Pozostało 580 znaków

2011-08-15 18:26
Anonim
0

Zakladajac, ze istnieja w bazie tabele, ktore sa powiazane z dana tabela kluczem obcym usuniecie tabeli albo sie nie powiedzie albo spowoduje skasowanie/rozjechanie sie danych w tabelach podrzednych (zalezy jak jest klucz obcy ustawiony). Jesli jednak z dana tabela nie sa zwiazane zadne klucze obce to mozesz sobie to tak rozwiazac. Inny sposob to napisac sobie skrypt/procedure, ktora ci przenumeruje id po usunieciu czesci rekordow zeby sie zaczynaly od 0.
Generalnie zadna z tych opcji nie jest dobra i tak jak napisal Patryk27 - tak sie nie robi.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0