Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Insert rekordu o już istniejącym id, Optymalne rozwiązanie
f1ames
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.02.2011
Skąd: Polska

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


Witam,
zastanawiałem się nad następującym problemem:

Mam tabele z PK typu tekstowego. Wstawiając rekord o kluczu który już istnieje w bazie rekord nie jest dodawany. Specyfika aplikacji jest taka, że operacja wstawiania istniejącego już rekordu(te same dane) zdarza się od czasu do czasu.

Czy lepiej(patrząc pod względem optymalnego rozwiązania):

- wstawiać jak leci, najwyżej baza zwróci błąd i rekord nie zostanie dodany czy
- sprawdzać istnienie rekordu i ewentualnie nie wstawiać

Dodam, że tabela ma kilkaset tysięcy rekordów. I jak by to wyglądało gdyby dany problem rozważyć na kluczach typu int.


Dzięki, Pozdrawiam
Go to the top of the page
+Quote Post
trafas
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

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


Nie wstawiaj jak leci tylko sprawdz czy dany rekord już istnieje.

Lepiej samemu obsłużyć dany błąd niż żeby wywaliło ci błąd z bazy danych.

W ten sposób nie będziesz zwiększał logu bazy danych, a i wygenerowany błąd/komunikat będzie wyglądał przyjaźniej dla użytkownika.

Powtórzony klucz łapiesz zapytaniem:

  1. SELECT 1 FROM twoja_tabela WHERE klucz = podany_klucz
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: 19.08.2025 - 09:14