Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%)
|
Cześć. Załóżmy, że mam tabelę, której jedyną kolumną jest identyfikator (auto_increment). Chcę, by do tabeli nie dodawało się więcej niż 10 rekordów - nowe pozycje mają 'zastępować' stare. Nie wiem niestety, jak najwydajniej to zrobić. Pomyślałem, żeby przy dodawaniu nowej pozycji podliczyć zapytaniem liczbę rekordów - jeżeli byłaby za duża wykonywałoby się zapytanie pobierające najmniejszy identyfikator, a następnie usuwające pozycję go posiadającą. Jest to jednak rozwiązanie co najmniej nieeleganckie i niewydajne.
Czy da się to zrobić w jakiś lepszy sposób? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%)
|
Mozesz próbować używać w stosunku do tej tabeli triggera, ale w MySQLu to jeszcze chyba nie działa dobrze. Po drugie zamiast kasować post z określonym id po prostu zmieniaj jego zawartość. czyli sprawdzasz ile masz w bazie wpisów jeśli <10 to INSERT jeśli == 10 to UPDATE. Taki sam warunek możesz zaszyć w triggerze jeśli uda ci się go uruchomić w Twojej wersji bazy.
|
|
|
|
l0ud [MySQL] Ograniczenie liczby rekordów w tabeli 19.08.2008, 21:45:45
dr_bonzo Trzymaj w innym miejscu pozycje [id: 1,2 ... 10] n... 19.08.2008, 21:53:37
l0ud Zapomniałem napisać chyba najistotniejszego - istn... 19.08.2008, 22:00:36 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 05:42 |