Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> CASE i działania
JohnySpot
post 22.07.2006, 13:05:23
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 9.09.2003
Skąd: Włocławek

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


Jak napisać CASE, który sprawdzi czy dane pole w bazie się już znajduje czy nie i albo wykona na nim UPDATE (jeżeli to pole tam jest) albo INSERT (jeżeli go nie ma).


--------------------
Go to the top of the page
+Quote Post
SongoQ
post 22.07.2006, 21:41:23
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Cytat
który sprawdzi czy dane pole w bazie się już znajduje czy nie i albo wykona na nim UPDATE (jeżeli to pole tam jest) albo INSERT (jeżeli go nie ma)

O ile wiem to pola w bazie sie dodaje ALTERer a nie INSERTem.
A jesli chodzi Ci o rekordy lub warosc w jakims polu to najlatwiej i najszybciej jest zalozyc klucz unikalny na to pole i zawsze robic insert, jesli zwroci blad ze pole jest to robisz wtedy update. Dla PG mozesz funkcyjke napisac w ktorej bedziesz mial to samo. CASE to narzut czasowy na baze.


--------------------
Go to the top of the page
+Quote Post
JohnySpot
post 23.07.2006, 08:28:52
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 0
Dołączył: 9.09.2003
Skąd: Włocławek

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


Rzeczywiście chodziło mi o rekordy, takie rozwiązanie jak dajesz jest ok, ale nie jest optymalne. Hcesz wysztko zrobić z punktu widzenia php w jednym zpytaniu i zwalić robote na POSTGRES-ql-a a nie na php, to dużo przyspieszy smile.gif bo takich zapytań będziue około 30*20 na minute i postgres w tym momencie będzie wydajniejszy. w MYSQL jest taki "dopisek" że jak ploe już istnieje to UPDAtU-je i o coś takiego mi właśnie chodzi.


--------------------
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 Wersja Lo-Fi Aktualny czas: 20.07.2025 - 02:01