![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 18.11.2006 Skąd: gorzów Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Potrzebuję zrobić zapytanie SQL, które będzie albo dodawać rekordy (jeżeli $search w kolumnie name nie istnieje) lub aktualizować (jeżeli $search w kolumnie name istnieje). Co prawda mógłby to zrobić schematem Sprawdzenie istnienia $search w name funkcją SELECT i count (w php) -> if sprawdzający wartość count i wrzucający odpowiednie zapytanie INSERT INTO bądź UPDATE. Problem polega na tym, że sama instrukcja SELECT bez wskazania konkretnego indeksu wykonuje się zdecydowanie za długo (w tabeli jest ponad 600 tys rekordów). Myślałem o REPLACE INTO, ale zauważyłem, że albo dodaje nowy, albo zastępuje stary nowymi wartościami. A potrzebuję wykonać dodatkowo polecenie count=count+1, czyli stary count nie może być zastąpiony, ponieważ stale będzie nosił wartość 1, a to ma zliczać. Jest możliwość rozwiązania tej sprawy jednym zapytaniem? Pozdrawiam, Bartek. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 18.11.2006 Skąd: gorzów Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie o coś takiego mi chodzi.
Mam tabelę Cytat ID NAME COUNT I przy wywoływaniu instrukcji, albo dopisuję kolejny rekord z wartością NAME = $search oraz COUNT = 1, natomiast jeżeli istnieje rekord spełniający warunek NAME = $search, towykonywane jest tylko COUNT=COUNT+1. Jeśli Kolega ma możliwość, będę wdzięczny za podesłanie tej klasy dla podglądu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 07:05 |