Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: CASE i działania
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
JohnySpot
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).
SongoQ
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.
JohnySpot
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.
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.