[MySQL]Wprowadzanie danych do Mysql |
[MySQL]Wprowadzanie danych do Mysql |
20.09.2012, 09:11:51
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.01.2012 Ostrzeżenie: (0%) |
Zastanawiam się jak poprawnie powinno być skonstruowany cały proces zapisu danych do bazy?
Mam już pewne dane w bazie odnośnie klientów : nazwisko, imie, pesel, itp. Jak się zabezpieczyć przed tym, aby powtórnie nie wprowadzić tego samego klienta do bazy? Czy wystarczy sprawdzać w bazie czy już taki klient istnieje, np. po peselu? Czy robi się jakies ograniczenia na tabeli, procedurki, indexy? |
|
|
20.09.2012, 09:17:36
Post
#2
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 4 Dołączył: 30.07.2011 Ostrzeżenie: (0%) |
najlepiej jakbyś zrobił osobny plik.php do którego przesyłasz dane z formularza poprzez POST a on po sprawdzeniu czy taki pesel już istnieje i po dodaniu go do bazy przekierowywuje spowrotem na stronę.
|
|
|
20.09.2012, 09:18:15
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 366 Pomógł: 1115 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
unique index na peselu, przy próbie insertu baza powinna zwrócić wyjątek który przechwytujesz.
-------------------- |
|
|
20.09.2012, 09:25:49
Post
#4
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 4 Dołączył: 30.07.2011 Ostrzeżenie: (0%) |
index jest pewnie lepszym rozwiązaniem ale ja bym to zrobił w ten sposób (nie znam się na indexach )
Ten post edytował Wilwarin 20.09.2012, 09:28:19 |
|
|
20.09.2012, 10:49:48
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) |
Użyj REPLACE zamiast INSERT
|
|
|
20.09.2012, 12:20:13
Post
#6
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) |
Użyj REPLACE zamiast INSERT To nie jest dobre rozwiązanie, bo sprawdza unikatowość primary key a pesel nie koniecznie musi nim być. Poza tym możesz nadpisać rekordy wstawiając losowe numery pesel, co nie jest raczej wskazane, bo znając twój pesel mógłbym ci zmienić np. nazwisko. Rozwiązanie z indeksem jest lepsze. Chociaż najlepiej chyba sprawdzić czy wpis istnieje, a indeks jako dodatkowe zabezpieczenie. Tak czy inaczej indeks powinien być bo pesel nie ma prawa się powtórzyć (w teorii przynajmniej -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 8.06.2024 - 11:27 |