Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Błąd podczas tworzenia klucza obcego Cannot add foreign key constraint 1215
kondzik
post 31.10.2014, 17:58:41
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.10.2014

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


Cześć,

Próbuje stworzyć powiązanie między następującymi tabelą: category (id_category, name_user, category_name, ...) a tabelą topics (id_topic, id_category, topic_title, name_user,...) wpisuję następujące polecenia:
alter table topics
add constraint id_category_fk foreign key (id_category) references category(id_category)


jednak kończy się to niepowodzeniem i dostaję błąd:

#1215 - Cannot add foreign key constraint


Czy ktoś wie może co mogę mieć nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Pyton_000
post 31.10.2014, 18:02:00
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Sprawdź czy id_category są dokładnie takiego samego typu
Go to the top of the page
+Quote Post
kondzik
post 31.10.2014, 18:06:55
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.10.2014

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


tak jeden jak i drugi to INT(10).
Go to the top of the page
+Quote Post
Pyton_000
post 31.10.2014, 18:25:31
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


unsigned?

Pokaż sql tworzenia obu tabel

Ten post edytował Pyton_000 31.10.2014, 18:26:09
Go to the top of the page
+Quote Post
kondzik
post 31.10.2014, 18:38:07
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.10.2014

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


Tabela category

CREATE TABLE IF NOT EXISTS `category`
(
`id_category` int(10) unsigned NOT NULL,

`name_user` varchar(16) NOT NULL,

`category_name` varchar(150) NOT NULL,

`category_description` varchar(400) NOT NULL,

`id_sub` int(11) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;



Tabela topics

CREATE TABLE IF NOT EXISTS `topics`
(
`id_topic` int(11) NOT NULL,

`id_category` int(10) NOT NULL,

`topic_title` varchar(150) NOT NULL,

`name_user` varchar(16) NOT NULL,

`topic_last_user` varchar(16) NOT NULL,

`topic_date` datetime NOT NULL,

`topic_reply_date` datetime NOT NULL,

`topic_views` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;


Go to the top of the page
+Quote Post
Pyton_000
post 31.10.2014, 19:19:18
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Tak jak napisałem, w jednej masz unsigned w drugiej nie.
Go to the top of the page
+Quote Post
kondzik
post 31.10.2014, 19:34:25
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.10.2014

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


Dzięki ogromne Python_000 smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:14