Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [mysql] porównanie rekordów przed dodaniem
kleszczoscisk
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

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


Witam

Baza ma rekordy, powiedzmy z 15 pól każdy, blokuję warunkiem WHERE możliwosc dodania rekordu kiedy określone jedno z tych pól ma identyczną wartość.
Zależy mi aby sprawdzić czy pozostałe 14 pól ma wartości identyczne z danymi z formularza i jeśli choć jedno jest inne - umożliwić nadpisanie.
Czy robić to również za pomocą WHERE? Bo coś mi sie wydaje, że to jest nieprawidłowe, a conajmniej nieoptymalne (słabo wygląda taki wąż warunków smile.gif )
Pozdrawiam


--------------------

Siedź cicho, kiedy śpi licho.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Możesz zastosować zabezpieczenie po stronie samej bazy danych w postaci nadania kolumnie atrybutu UNIQUE.
Go to the top of the page
+Quote Post
nevt
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


Poczytaj w manualu o składni polecenia REPLACE - w skrócie: działa jak połączenie INSERT I UPDATE w jednym. Jeżeli istnieje rekord o danym ID to robi to samo co UPDATE, a jeżeli nie, to dopisuje dane jak INSERT. To powinno rozwiązać twój problem. Poza tym twoim przypadku raczej nie ma sensu sprawdzać, czy 15 pól ma identyczne wartości z tymi co chcesz zapisać. Jeżeli "nadpiszesz" takimi samymi wartościami, to w bazie nic się nie zmieni, a wykona się pewnie szybciej niż wyszukiwanie i sprawdzanie całego rekordu. Powodzenia.


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
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: 20.08.2025 - 02:43