Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> If exist
cadavre
post
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Mam tabelę z trzema polami: 'id', 'nazwa' oraz 'tytul'. Teraz chciałbym aby przy dodawaniu nowego wpisu do tabeli sprawdzał czy przypadkiem nie istnieje już identyczny z taką samą 'nazwa'. Jeśli istnieje, aby nie tworzył nowego wpisu a powiadamiał komunikatem, że wpis o takiej 'nazwa' już istnieje. Jak to zrobić?


--------------------
Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Najpierw SELECT, a potem UPDATE lub INSERT. Nie da sie tego zrobic jednym zapytaniem.
Ew. jak zalozysz klucz unique to nie powinno ci pozwolic dodac drugiego rekordu z taka sama wartoscia (exclamation.gif! Nie znam sie za bardzo na kluczach wiec musisz sprawdzic) -> mysql_query zwroci false.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
ArturS
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 8.01.2006
Skąd: Zabrze

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


Jeśli baza ma być na zawsze tak używana, że kolumna 'nazwa' ma być unikatowa, to może po prostu zmień własności kolumny dodając UNIQUE, by zablokować możliwość zdublowania nazwy, czyli

ALTER TABLE nazwa_tabeli
CHANGE COLUMN nazwa nazwa typ_danych UNIQUE inne_własności

jednak w tym wypadku nie bardzo widzę sens istnienia kolumny 'id' chyba, że jeden 'id' będzie przyporządkowywany do różnych nazw. Unikatowość kolumny 'nazwa' pozawala użyć jej jako klucza głównego.
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: 21.08.2025 - 01:44