ďťż

[sql] pobieranie ID z auto_increment

       

Podstrony


telcocafe

witam, musze wyklonac zapytanie

INSERT INTO `przesuwanie` ( `id` , [b]`pos`[/b] , `tytul` ) VALUES ( '10', '[b]10[/b]', 'tibia' );

tam gdzie jest id - mysql sam go generuje (auto_increment), w miejscu pos potrzebuje wstawic to samo id, jak to zrobic?
Użytkownik bikstopa edytował ten post 18 grudzień 2007, 22:47


Istnieje taka funkcja LAST_INSERT_ID(), ale po pierwsze nie wiem czy w jednym INSERT'cie to przejdzie, a i z tego co widziałem to nie jest ona idealna... Zresztą poszukasz znajdziesz ;)

$q = mysql_query("SHOW TABLE STATUS LIKE 'tabelka';"); $fa = mysql_fetch_array($q); $last_ai = $fa['Auto_increment'];
W związku z czym do $last_ai dodajesz 1 i masz poszukiwany ID :)
Użytkownik DJ_ProG edytował ten post 19 grudzień 2007, 01:29
zrób pos auto_increment...



Albo użyj funkcji MAX(id) i dodaj do niej 1.


Albo użyj funkcji MAX(id) i dodaj do niej 1.
A co jeśli rekord mający najwyższy ID został wcześniej usunięty? Kolejny insert w ten sposób inny id i inny pos :)

W sumie masz racje. Uznajmy, że myślałem iż nie będzie usuwał rekordów :)

Albo po dodaniu rekordu edytuj go jeszcze raz i zapisz id ;)


Albo po dodaniu rekordu edytuj go jeszcze raz i zapisz id ;)
Ale po co, to bez sensu, jeśli wystarczy dać pole auto_increment :blink:


$q = mysql_query("SHOW TABLE STATUS LIKE 'tabelka';"); $fa = mysql_fetch_array($q); $last_ai = $fa['Auto_increment'];
W związku z czym do $last_ai dodajesz 1 i masz poszukiwany ID :)

takie cos jest niebezpieczne, wystarczy ze 2 osoby wywolaja ten kod w tym samym momencie - pierwsza pobierze najwyzszy autoincrement, druga tez, po czym w obu sproboje wstawic sie ten id.

ok, zpomnialem napisac - rozwiazanie J_ProG'a jest najlepsze - dzieki

@up - nie ma takiej mozliwosci.
potrzebna jest mi to opcja do panelu admina, bedzie ona uzywana raz na ruski rok i w dodatku tylko przez headadmina.

jesli kogos zainteresuje kod to prosze
klik
w tym katalogu jest tez source.
Użytkownik bikstopa edytował ten post 26 grudzień 2007, 01:42
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.