Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

relacje


1 odpowiedzi na ten temat

relacje

#1 vulcan0

    Nowy użytkownik

  • Użytkownicy
  • 1 postów

Napisany 20 październik 2010 - 16:11


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





#2 squeezer

    Czasami na forum

  • WHT Pro
  • 37 postów

Napisany 21 październik 2010 - 11:32

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
Optymalizacja MySQL - mysql.ksiazek.info





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników