Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kilka podstawowych pytan
Forum PHP.pl > Forum > Bazy danych > MySQL
zyto45
Witam. Przejde od razu do rzeczy. Czy da sie za pomoca triggera niedopuscic do wstawienia nieporpawnych danych czy mozna tylko zmienic niepoprawna wartosc na inna? jesli tak to jaka instrukcja do tego sluzy, prosze o jakis prosty przyklad.

druga sprawa to czy mozliwe jest przegladanie pola typu CHAR znak po znaku ? rowniez prosze o prosty przyklad

pozdrawiam
erix
Cytat
Czy da sie za pomoca triggera niedopuscic do wstawienia nieporpawnych danych czy mozna tylko zmienic niepoprawna wartosc na inna?

AFAIK, tylko zmienić. Triggery działają tylko "po fakcie". Sprawdzanie danych rób wcześniej.

Nie jestem pewien, ale coś takiego to chyba można by zrealizować procedurą.

Cytat
druga sprawa to czy mozliwe jest przegladanie pola typu CHAR znak po znaku ? rowniez prosze o prosty przyklad

A tak spytam, po co...? Jakaś konkretna sytuacja?
zyto45
dzieki za odpowiedz !
jesli chodzi o przegladanie char'a to musze zrobic walidacje porawnosci NIPu a do tego potrzebne jest liczenie sumy kontrolnej. poki co jedyny pomysl jaki mam to zapisanie NIPu jako int i dzielenie przez odpowiednie potegi 10. nie jest to zbyt efektywne wiec zastanawiam sie czy mozna to zrobic wlasnie przez przegladanie pojedynczych znakow.
erix
Cytat
jesli chodzi o przegladanie char'a to musze zrobic walidacje porawnosci NIPu

To nie możesz zrobić tego po stronie aplikacji dodającej dane do tabeli...?

Cytat
jako int i dzielenie przez odpowiednie potegi 10. nie jest to zbyt efektywne

INT zajmuje zawsze mniej miejsca w bazie niż adekwatny (var)char. Poza tym, potęgi? A nie wystarczy modulo z 10?
Crozin
IMO za dużo chcesz przenieść na bazę danych. Walidacja poprawności danych to działa programu/skryptu, który z ów bazy korzysta.
zyto45
i masz racje, tylko ze to jest projekt czysto dydaktyczny i prowadzacy wprost nakazal cala walidacje zwalic na baze...
erix
Cytat
i prowadzacy wprost nakazal cala walidacje zwalic na baze...

:S

To po co - w takim razie - klient bazy danych...? Może w ten sposób czeka, aż ktoś z Was ruszy głowami i zacznie mu mówić, że baza nie jest aplikacją kliencką? tongue.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.