Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> buforowanie id
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




By dodać nowy wiersz (produkt) do bazy, przed procesem wprowadzania danych, muszę pobrać numer id, który dany rekord otrzyma.
Pobieram go prostym zapytaniem MAX (id) +1. Później juz tylko przesyłam ten numer, aż do momentu dodania nowego produktu.
Rozwiazanie takie ma jednak wadę - możliwe jest, że w trakcie gdy jeden użytkownik wprowadza dane, inny rozpocznie ten samą czynność i otrzyma ten sam numer id. Stąd pojawia sie konieczność wprowadzenia mechanizmu rezerwowania numerów, czyli oznaczania, które numery id są właśnie wykorzystywane.
Zrobiłem to na zasadzie osobnej tablicy, zawierającej kolumny [i]id_wprowadzanego_produktu i data [i]
Jednak mam problem. Nie wiem jak pobrać numer wiersza, dla którego nie istnieje jeszcze produkt i który nie jest zarezerwowany, lub rezerwacja jest "przestarzała"
A może macie jakieś inne rozwiazania?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Rzeczywiście - zastosowanie transakcji mogłoby być dobrym rozwiazaniem, tyle ze chyba nieco obciażającym serwer.
2. Osobiscie rónież zacząłem od tworzenia pustych wpisów. NIestety, ale okazało się, że męczące będzie "pamiętanie" o tym, by nigny nie wyciagać pustych wpisów. So prawda wystarczyłaby osobna kolumna, ale jednak, koniczne byłoby przerabianie struktury zapytań. Stąd też pomysł zastosowania odobnej tabeli.
W ttej chwili doszedłem do tego, że:
a) Sprawdzam czy w buforze istneje jakiś stary wpis
1. jeśli tak - pobierazm id i aktualizuję datę wpisu,
2. jeśli nie -
TU POJAWIA SIĘ PROBLEM
Chcę dadać do bufora id produktu, którego nie mam jeszcze ani w buforze, ani w tabeli produktów


i dalej pracuję z tym id

(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) dodaję produkt
c) usuwam z bufora juz wykorzystany w tabeli produktów id
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 01:59