Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MYSQL]Probelm z kluczami i zapytaniem
gregi1
post
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Pytanie 1 : Jak dodac do istniejacych tabel klucze obce otoz mam:

  1. CREATE TABLE `informacje` (
  2. `id` int(4) NOT NULL AUTO_INCREMENT,
  3. `nazwa_firmy` varchar(100) DEFAULT NULL,
  4. `id_branza` int(5) DEFAULT NULL,
  5. `id_profil` int(5) NOT NULL DEFAULT '0',
  6. `data_dodania` date DEFAULT '0000-00-00',
  7. PRIMARY KEY (`id`),
  8. KEY `id_branza` (`id_branza`),
  9. KEY `id_profil` (`id_profil`)
  10. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=14 ;
  11.  
  12. oraz
  13.  
  14. CREATE TABLE `profil` (
  15. `id` int(5) NOT NULL AUTO_INCREMENT,
  16. `profil` varchar(50) NOT NULL DEFAULT '',
  17. PRIMARY KEY (`id`)
  18. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=5 ;


I chcialbym aby id_profil bylo kluczem obcym do tej tabeli.

Chcialbym takze wyswietlic sobie cala tabele informacje, tylko zeby zamiast liczb z pola id_profil wyswielila mi sie nazwa danego profilu zapisana z tym samym id w drugiej tabeli.

Moje zapytanie wyglada:

select * from informacje inner join profil on informacje.id_profil=profil.id
Go to the top of the page
+Quote Post
piaseq
post
Post #2





Grupa: Zarejestrowani
Postów: 161
Pomógł: 25
Dołączył: 6.09.2008
Skąd: Warszawa

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


Cytat(gregi1 @ 5.11.2008, 20:42:15 ) *
Pytanie 1 : Jak dodac do istniejacych tabel klucze obce.

I chcialbym aby id_profil bylo kluczem obcym do tej tabeli.

  1. ALTER TABLE `informacje`
  2. ADD CONSTRAINT `profil` FOREIGN KEY (`id_profil`) REFERENCES `profil` (`id`)

Do poprawnego działania kluczy powinieneś zmienić silnik tabel z myisam na innodb.

Cytat(gregi1 @ 5.11.2008, 20:42:15 ) *
Chcialbym takze wyswietlic sobie cala tabele informacje, tylko zeby zamiast liczb z pola id_profil wyswielila mi sie nazwa danego profilu zapisana z tym samym id w drugiej tabeli.

  1. SELECT informacje.id, nazwa_firmy, id_branza, profil, data_dodania FROM `informacje` LEFT JOIN profil ON informacje.id_profil=profil.id
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: 21.09.2025 - 19:19