Skocz do zawartości
Zaloguj się, aby obserwować  
vulcan0

relacje

Polecane posty

nazwa bazy ksiegarnia_internetowamam 3 tabele

 

create table klient (klient_id serial, imie varchar(30), nazwisko varchar(30), ulica varchar(30), miejscowosc_id integer, kod_pocztowy varchar(30), wojewodztwo_id integer, telefon varchar(30), constraint klient_pk priamry key (klient_id));

 

create table miejscowosc (miejscowosc_id serial, nazwa varchar(30), constraint miejscowosc_pk priamry key (miejscowosc_id));

 

create table wojewodztwo (wojewodztwo_id serial, nazwa varchar(30), constraint wojewodztwo_pk priamry key (wojewodztwo_id));

 

chce stworzyc relacje miedzy klient.miejscowosc_id a miejscowosc.miejscowosc_id i klient.wojwodztwo_id a wojewodztwo.wojewodztwo_id

probowalem poleceniem alter table klient constraint klient_miejscowosc_id_fk foreign key (miejscowosc_id) references miejscowosc (miejscowosc_id);

lecz wyskakuje mi blad can't create table 'ksiegarnia_internetowa.#sql-adc-2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość squeezer

Wykonaj wcześniej:

 

alter table klient modify miejscowosc_id bigint(20) unsigned NOT NULL;

 

Kolumny, które łączysz kluczem obcym, muszą być tego samego typu. U Ciebie jedna to bigint(20) unsigned a druga int(11).

 

Edit.

 

Żeby być precyzyjnym, to w tym przypadku nawet nie o typ chodzi, co o wielkość kolumny. Więcej informacji oczywiście w dokumentacji MySQL:

 

http://dev.mysql.com...onstraints.html

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×