Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] zapytanie z if'ami i case'ami
szczypior
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


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?


--------------------
Pytania i odpowiedzi na każdy temat - ZapytajSie.pl
Darmowe aliasy i liczniki odwiedzin - RFV.pl
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Indeo
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 7
Dołączył: 26.03.2004
Skąd: Opole

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
BaN
post
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

Ostrzeżenie: (0%)
-----


Może zastosuj REPLACE?
Go to the top of the page
+Quote Post
szczypior
post
Post #4





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


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 ?


--------------------
Pytania i odpowiedzi na każdy temat - ZapytajSie.pl
Darmowe aliasy i liczniki odwiedzin - RFV.pl
Go to the top of the page
+Quote Post
BaN
post
Post #5





Grupa: Zarejestrowani
Postów: 158
Pomógł: 43
Dołączył: 9.11.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
szczypior
post
Post #6





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


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


--------------------
Pytania i odpowiedzi na każdy temat - ZapytajSie.pl
Darmowe aliasy i liczniki odwiedzin - RFV.pl
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 17:25