Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dwa niezalezne pola unique
KirkoR
post
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 14.02.2004
Skąd: Warszawa

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


Witam, mam następujący problem: są dwa pola które muszą być ze sobą powiązane i zarazem unikalne. Tzn. jakiś wpis w danej kolumnie może się powtórzyć pod warunkiem iż w drugiej jest unikalny. I na odwrót.
czyli mając do dyspozycji liczby 0,1 i A,B takie rekordy mogą się pojawić:
0 A
1 A
0 B
1 B

ale już np.
0 A
0 A
już nie powinno być. Jak to zrobić z poziomu MySQL'a?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Index na 2 pola

  1. ALTER TABLE tabela ADD UNIQUE nazwa_indeksu (pole1 , pole2)
Go to the top of the page
+Quote Post
bendi
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Ja może trochę rozwinę to co napisał SongQ
  1. CREATE TABLE dupa(
  2. i int NOT NULL AUTO_INCREMENT,
  3. j varchar(30),
  4. PRIMARY KEY (j,i)
  5. ) ENGINE = MyISAM;
  6.  
  7. -- teraz jakies dane
  8. INSERT INTO dupa (j) VALUES ('cos'), ('sin'), ('tang'), ('sin'), ('cos'), ('tang'),('cos'), ('sin'), ('tang'), ('sin'), ('cos'), ('tang'), ('cos');
  9.  
  10. -- itd
  11. SELECT * FROM dupa ORDER BY i;

i voila
Kod
+---+------+
| i | j    |
+---+------+
| 1 | cos  |
| 1 | sin  |
| 1 | tang |
| 2 | sin  |
| 2 | cos  |
| 2 | tang |
| 3 | tang |
| 3 | sin  |
| 3 | cos  |
| 4 | sin  |
| 4 | cos  |
| 4 | tang |
| 5 | cos  |
+---+------+
13 rows in set (0.01 sec)
Go to the top of the page
+Quote Post

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: 23.12.2025 - 15:03