Quickstart a tabulka a s cizím klíčem

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
brontosaurus
Člen | 49
+
0
-

Podle Quickstart jsem vytvořil tabulku s cizím klíčem takto :

CREATE TABLE comments (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
post_id int(11) NOT NULL,
name varchar(250) NOT NULL,
email varchar(250) NOT NULL,
content text NOT NULL,
created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (post_id) REFERENCES posts (id) ) COMMENT='' ENGINE=‚InnoDB‘ COLLATE ‚utf8_general_ci‘;

Tabulka se vytvořila ale podle návodu by měla obsahovat u pole post_id typ „posts“ jako cizí klíč ale
já tam mám pořád post_id „int(11)“. Nevíte někdo v čem by mohl být zádrhel ?

Filip Klimeš
Nette Blogger | 156
+
0
-

Jaký používáš nástroj pro prohlížení DB?

Nemusíš mít nutně zobrazený typ „posts“, protože post_id je opravdu typu int(11). V seznamu cizých klíčů by ale měl být vidět klíč, který odkazuje na tabulku posts.

Editoval Filip Klimeš (19. 4. 2015 15:05)

brontosaurus
Člen | 49
+
0
-

Používám phpmyadmin, klíče tam vidím dva, jeden Primární (Id) a druhý (post_id) ale nevidím ten odkaz na tabulku posts ..

Mysteria
Člen | 797
+
0
-

PHPMyAdmin to zobrazuje jinak, musíš si zobrazit strukturu tabulky a někde dole podtím by měla být možnost zobrazit relace nebo tak něco. Tak jak to popisuješ nahoře to zobrazuje Adminer.

Šaman
Člen | 2666
+
+1
-

Typ posts je jen při vytváření nového pole post_id. Je to (pokud vím) fičura jen Admineru. Říká, že se má použít stejný typ, jako má post.id a ještě navíc pak vytvořit cizí klíč. Při procházení struktury se už ale zobrazuje ten int(11), což je opravdu databázový typ toho sloupce.