ďťż
Podstrony
|
telcocafewitam, musze wyklonac zapytanieINSERT 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 |
|||
Sitedesign by AltusUmbrae. |