Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z PRIMARY/UNIQUE KEY oraz relacjami
n0zz
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 1.03.2015

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


Hej!
Otóż mam taki problem, a raczej kilka...
Staram się stworzyć bazę na podstawie 2 tabel.

  1. CREATE TABLE IF NOT EXISTS `commands` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `channel` varchar(30) NOT NULL,
  4. `command` varchar(30) NOT NULL,
  5. `text` varchar(255) NOT NULL,
  6. PRIMARY KEY (`id`) -- ??
  7. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
  8.  
  9. CREATE TABLE IF NOT EXISTS `users` (
  10. `id` int(11) NOT NULL AUTO_INCREMENT,
  11. `channel` varchar(30) NOT NULL,
  12. `premium` BOOLEAN NOT NULL DEFAULT 0
  13. PRIMARY KEY (`id`) -- ??
  14. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;


Niby wszystko ładnie pięknie, ale schody zaczynają się kiedy kombinuję z relacjami w tych 2 tabelach.
Chciał bym utworzyć relację między tymi tabelami po przez 'channel'.
W zasadzie, to nawet tych pól 'id' nie potrzebuje, chyba. Sam już nie wiem.
Próbowałem ustawiac primary/unique keye na id i na channel w róznych konfiguracjach. Zawsze napotykam jakieś problemy, błędy...
Albo nie da się ustawić relacji na channel, tylko na id. Albo nie da się dodawać danych do bazy, a relacje da się ustawić i na id i na channel. Albo jakies inne problemy, typu nie da się ustawić opcji primary key w którejś tabeli...

Jednym słowem...
Chcę relacji między tabelami poprzez channel.
commands.id, users.id i users.channel mają być unikalne.

Ktoś podrzuci jakieś konkretne, gotowe rozwiązanie na te 2 tabele? Bo już nie mam do tego siły na ten moment, no i nie chce mi się przerabiać całego sql'a od 0 żeby to ogarnąć w całości.
Wersja MySQL: 5.5.41

Ten post edytował n0zz 1.03.2015, 05:33:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
n0zz
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 1.03.2015

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


Dobra, na razie zabrałem się do roboty na szybko posiadając tylko tabelę commands.
Dzisiaj już nic nie robię, bo spać trzeba lecieć. Ale sprawdzę jutro jak to będzie z tymi kluczami w końcu... Mam nadzieję, że dam ratę to ogarnąć...
No i przy okazji, już wiem, że będzie w tej bazie dużo więcej tabel (IMG:style_emoticons/default/tongue.gif)
Przynajmniej ze 4 jeszcze. A przy dobrej organizacji, żeby się to nie mieszało to pewnie ze 2x tyle...
Chyba jednak przysiądę na parę dni/tygodni do tego sql'a żeby to ogarnąć, bo nie mam nikogo od tego, a będzie potrzebnych parę rzeczy :/

W każdym razie, dzięki za rady (IMG:style_emoticons/default/smile.gif)
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: 12.10.2025 - 09:12