Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] MAX(ID)
Forum PHP.pl > Forum > Bazy danych > MySQL
propage
Czy istnieje funkcja, która zwraca, liczbę wszystkich rekordów dodanych do danej tabeli (zlicza, również te już nie istniejące - usunięte).
nospor
no jesli miales auto_increment na tabeli to max(ID) jest wlasnie tym czego szukasz
skowron-line
Jeżeli masz pole ID ustawione na auto_increment i po usunięciu rekordów niełatasz dziur to max() będzie okej w przeciwnym wypadku nie ma możliwości obliczenia ile rekordów było usuniętych.
nospor
kurcze... ale czemu to jest w dziale PHP? Przenosze
wookieb
Ale wy głupoty gadacie. Złe rozumowanie max(id)

1) Id ostatniego rekordu jest 100
2) Dodajcie 5 rekordów, id ostatniego bedzie 105
3) Usuńcie 5 rekordów, id ostatniego będzie 100

Powinieneś pobrac wartosc auto_increment
  1. SHOW TABLE STATUS LIKE "nazwa_tabeli"

i od pola "auto_increment" odjac liczbe rekordów w tabeli.
nospor
@wookieb oczywiscie masz racje. smile.gif robie kilka rzeczy na raz i za szybko mi sie ten post napisal
propage
o to mi chodziło.
thek
Ja mam własnie przed oczami tablicę "artykuły", gdzie polecenie SHOW TABLE STATUS wyświetla takie dane:
Rows: 537
Auto increment: 422
Realna liczba wierszy w bazie: 397 smile.gif
Czyli A_I - Rows < 0 winksmiley.jpg
Lepiej zrobić jedno zapytanie w stylu
  1. SELECT id, id-(SELECT count(id) FROM tabela) AS roznica FROM tabela ORDER BY id DESC LIMIT 1
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.