Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Kasowanie rekordow
Forum PHP.pl > Forum > Przedszkole
Wolfie
Witam,

Juz dawno nie bawilem sie MySql i mam takie pytanko

Jak skasowac rekrdy z bazy danych w ktorej jest tez kolumna id ktora jest kluczem, tak bym wyzerowal sie 'wskaznik' ostatniego numeru klucza.

Bo jak kasuje wszystkie rekordy to elegancko sie kasuje, ale gdy wprowadzam nowa wartosc to klucze zaczynaja sie od ostatniego istniejącego numeru klucza+1 w skasowanych rekordach....


rozumiecie o co chodzi ? tongue.gif
Berg
Po skasowaniu rekordu możesz wywołać
  1. ALTER TABLE nazwa_tabeli AUTO_INCREMENT = x

gdzie x będzie numerem id skasowanego rekordu pomniejszonym o 1 (czyli w przypadku skasowania rekordu 29 ustawiasz auto_increment na 28)
skowron-line
Cytat(Berg @ 30.10.2009, 14:14:58 ) *
Po skasowaniu rekordu możesz wywołać
  1. ALTER TABLE nazwa_tabeli AUTO_INCREMENT = x
gdzie x będzie numerem id skasowanego rekordu

@Berg autorowi chodzi o skasowanie wszystkich rekordów więc x = 0
phpion
TRUNCATE TABLE nazwa_tabeli - z tego co pamiętam to TRUNCATE również "zerowało" licznik AUTO_INCREMENT. Jest to szybsze niż DELETE bez warunku, a do tego nie trzeba ręcznie aktualizować licznika.
skowron-line
Cytat(phpion @ 30.10.2009, 14:18:51 ) *
TRUNCATE TABLE nazwa_tabeli - z tego co pamiętam to TRUNCATE również "zerowało" licznik AUTO_INCREMENT. Jest to szybsze niż DELETE bez warunku, a do tego nie trzeba ręcznie aktualizować licznika.

Chyba że użytkownik za zablokowaną opcję DROP na bazie danych, wtedy TRUNCAT niezadziała, i pozostaje sposób wcześniejszy.
Wolfie
Ja cie krece, ja chcialem zeby mi tylko rekordy skasowalo, a to mi całą strukutre skasowało.........

A nie sorry, wszystko gra winksmiley.jpg
phpion
Jak całą strukturę? Przecież TRUNCATE kasuje tabelę i zakłąda ją na nowo, co daje efekt analogiczny do DELETE * FROM tabela.

No! winksmiley.jpg
InosU31
to skoro jestesmy przy tym temacie ... sory ze sie wtrace z pytaniem ale ... jak uporzadkowac te id tak zeby zaczynaly sie od 0 do X-linkow nie tracac przy tym innych danych ? Ja u siebie np. mam 1,2,33,54,299 itd. da sie to zrobic?

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.