vulcan0 0 Zgłoś post Napisano Październik 20, 2010 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 Zgłoś post Napisano Październik 21, 2010 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