Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> czym się różni PRIMARY KEY( c1, c2 ) od UNIQUE ( c1, c2 )
jolam
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


Witam serdecznie

Chciałabym aby w mojej tabeli pary wartości z 2 kolumn się nie powtarzały. Czyli aby nie było np takiej pary: 2,2,3 jeśli już istnieje 2,3,3.
Znalazłam dwa rozwiązania:
CREATE TABLE t(
c1 INTEGER,
c2 INTEGER,
c3 INTEGER,
UNIQUE( c1, c2 )
)
CREATE TABLE t(
c1 INTEGER,
c2 INTEGER,
c3 INTEGER,
PRIMARY KEY( c1, c2 )
)

Czym one się różnią? Które lepsze? Bardzo proszę o pomoc

pozdrawiam Jola
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zależy. Z praktycznego punktu widzenia - można korzystać z konstrukcji insert into ... on duplicate key update, a jeśli chodzi o teorię - DBMS nie dopuści do wstawienia więcej niż jednego rekordu z takim indeksem.

Wówczas baza zwróci błąd, a jest to najczęściej sytuacja niepożądana.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 03:39