Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] zapytanie z if'ami i case'ami
Forum PHP.pl > Forum > Bazy danych > MySQL
szczypior
Witam

Mam np: 4 zmienne, każda z nich zawiera jakiś wyraz. Czy można zbudować tak zapytanie żeby sprawdzało czy wyraz jest w bazie, jeśli nie to go dodaje, a jeśli jest to zmienia zawartość jednej kolumny w tym rekordzie?
Indeo
Baza danych jest jak twardy dysk. Wydajesz jej konkretne polecenia zapisu danych, a nie rzucasz 20 tytułów filmów żeby dysk sam sobie dochodził co zapisać, a co wywalić. Z tego co wiem sql nie pozwala zagnieździć w pojedynczym zapytaniu podzapytania wykonującego operację inną niż select. Operacje ingerujące w dane są dostępne tylko dla procedur i triggerów. Najsensowniejsze i najbardziej efektywna byłaby weryfikacja takich rzeczy w środowisku np. php, a wynik analizy zapisujesz w bazie.
BaN
Może zastosuj REPLACE?
szczypior
Cytat(BaN @ 1.12.2007, 18:58:38 ) *
Może zastosuj REPLACE?

hmm jakoś nie widzę zastosowania

Cytat(Indeo)
Baza danych jest jak twardy dysk. Wydajesz jej konkretne polecenia zapisu danych, a nie rzucasz 20 tytułów filmów żeby dysk sam sobie dochodził co zapisać, a co wywalić. Z tego co wiem sql nie pozwala zagnieździć w pojedynczym zapytaniu podzapytania wykonującego operację inną niż select. Operacje ingerujące w dane są dostępne tylko dla procedur i triggerów. Najsensowniejsze i najbardziej efektywna byłaby weryfikacja takich rzeczy w środowisku np. php, a wynik analizy zapisujesz w bazie.


czyli pozostaje tylko zrobić 4 selecty a potem updatey albo inserty ?
BaN
Cytat
hmm jakoś nie widzę zastosowania

Jeżeli na polu wg którego chcesz wyszukać te wyrazy masz założony indeks typu PRIMARY lub UNIQUE, to możesz wykonać zapytanie REPLACE. W wypadku gdy rekordu z takim wyrazem nie będzie, to zostanie on dodany do bazy, jeżeli taki wyraz już będzie w bazie, to odpowieni rekord zostanie uaktualniony
szczypior
a jak mozna założyć uniquea na kolumnie z danymi "text" ? bo mi wyświetla błąd
Cytat
#1170 - BLOB column 'nazwa' used in key specification without a key length


help wstydnis.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.