Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Zablokowanie dodania powtarzającej się zależności
redsov
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.05.2009

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


Witam Was,
chciałbym utworzyć tabelę 'web_similar_words' przechowującą zależności między rekordami z tablicy 'web_words'.
czy z poziomu MySQL mogę zablokować możliwość dodania rekordu do tabeli w poniższym przypadku:

haha11 - haha22 // rekord istniejący już w 'web_similar_words' - (haha11, haha22 - id_words)

haha22 - haha11 // czy mogę zablokować możliwość dodania takiej zależnosci? powyższy rekord w zupełności mi wystarczy




  1. CREATE TABLE web_words (
  2. id_words INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. pl_word VARCHAR(255) NOT NULL,
  4. fg_word VARCHAR(255) NOT NULL,
  5. PRIMARY KEY(id_words)
  6. )
  7. TYPE=InnoDB;
  8.  
  9. CREATE TABLE web_similar_words (
  10. word1 INTEGER UNSIGNED NOT NULL,
  11. word2 INTEGER UNSIGNED NOT NULL,
  12. PRIMARY KEY(word1,word2),
  13.  
  14. FOREIGN KEY (word1) REFERENCES web_words(id_words) ON UPDATE CASCADE ON DELETE CASCADE,
  15. FOREIGN KEY (word2) REFERENCES web_words(id_words) ON UPDATE CASCADE ON DELETE CASCADE,
  16.  
  17. )
  18. TYPE=InnoDB;



dzięki za pomoc.

Ten post edytował redsov 24.10.2009, 12:08:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak. Nałóż klucz unique na niepowtarzającą się kolumnę
Go to the top of the page
+Quote Post
redsov
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.05.2009

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


Cytat(wookieb @ 24.10.2009, 13:13:02 ) *
Tak. Nałóż klucz unique na niepowtarzającą się kolumnę


tzn. unikalne mialyby być jedynie przypisania:

haha1 - haha2 jest równe haha2 - haha1, więc nie chciałbym dublowac.

dopuszczam mozliwosc dodania kolejnych rekordow:
haha1 = haha3
haha3 = haha2

być może źle kombinuję, ale ustawiając unique na kolumny word1 czy word2 tracę tę mozliwosc.
nie umiem sie doszukac jak ustawić unikalność pary dwóch pol.

Ten post edytował redsov 24.10.2009, 12:58:46
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.09.2025 - 18:37