#1005 - Nie można stworzyć tabeli `agd`.`zlecenia` (Kod błędu: 150 "Foreign key constraint is incorrectly formed")

0

Witajcie, ostatnio zacząłem robić projekt ze szkoły i niestety stanąłem w miejscu i nwm co robić.
Chodzi o problem "#1005 - Nie można stworzyć tabeli agd.zlecenia (Kod błędu: 150 "Foreign key constraint is incorrectly formed")"
który się pokazuje po próbie dodania relacji:

alter table zlecenia 
add constraint foreign key (emailkontaktowy)
references klienci(email);

Trochę czytałem i zwykle chodziło o różniące się typy ale w moim przypadku są one identyczne i dlatego siedzę i się wkurzam.
Tworzenie tabel:

create table klienci(
	idklienta int primary key AUTO_INCREMENT,
	imie varchar(50),
	nazwisko varchar(50),
	adres varchar(50),
	email varchar(50),
	nr_telefonu int,
	wiek int,
	idplec int
);
create table zlecenia(
	idzlecenia int primary key AUTO_INCREMENT,
	iduslugi int,
	idwykonujacy int,
	idnazlecenie int,
	datazlecenia date,
	emailkontaktowy varchar(50),
	nr_telefonu_kontaktowego varchar(50),
	adres_wysylki varchar(50)
);

Byłbym serio wdzięczny gdyby ktoś z was mi podpowiedział o co może chodzić.

0

relacji

związku bądź klucza obcego; relacja jest synonimem słowa tabela (https://pl.wikipedia.org/wiki/Model_relacyjny).

zwykle chodziło o różniące się typy ale w moim przypadku są one identyczne i dlatego siedzę i się wkurzam.

Sprawdź kodowanie (charset) obydwu typów.

0

Dodaj indeks unikalny na zlecenia(email)

0

Wg teorii klucz obcy może być w stosunku do klucza pierwotnego (id-eka)

1

@Marcin.Miga: już Ci napisał (a ja skorygowałem) w czym problem. Jedynie chciałem nadmienić, że wiązania klienta ze zleceniem po mailu to dziwny (żeby nie napisać zły) pomysł. Masz przecież idklienta - dlaczego nie zrobisz złączenia po nim?

1 użytkowników online, w tym zalogowanych: 0, gości: 1