![]() |
![]() |
![]()
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! |
|
|
![]() |
![]()
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 ( ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 01:44 |