Autor Zpráva
Hitman
Profil
Rozhodl jsem se použít v DB cizí klíče. Myslím že princip chápu, ale nedaří se mi to nějak pořádně zprovoznit.

Chci mít tabulku: uživatelé a v ní sloupec id_uzivatele. To by měl být primární klíč.

Dále budu mít tabulku boty a v ní id_uživatele (to by měl být cizí klíč...který se bude tahat z toho primárního??) a cislo_bot.

Tabulky jsem si vytvořil, ale tak nějak se mi nepárují, můžu si v každé tabulce přidávat záznamů kolik chci, ale to by jít nemělo, ne? Pokud jsem to správně pochopil, mělo by se to řídit podle primárního klíče, takže pokud nebude v tabulce "uživatelé" id_uzivatele = 5, tak bych do tabulky boty neměl moci přidat id_uzivatele = 5, ne?

V tabulce uživatelé mám (zatím) jen jeden sloupec a má nastaven primary key. To bude asi dobře. V té druhé tabulce jsem tomu v phpmyadminu nastavil "INDEX", žádný cizí klíč tam v selectu nebyl. Potom jsem se dočetl že bych ten cizí klíč měl přidat tímto:

ALTER TABLE `boty` ADD FOREIGN KEY ( `id_uzivatele` ) REFERENCES `uzivatele` (`id_uzivatele`);

Což mi ale bohužel nic nezměnilo (dotaz se provedl, ale při vkládání nepozoruji změnu..).

Díky
Moderátor Joker: Proč je to v PHP? Přesouvám do databází
Joker
Profil
Hitman:

A používá ta databáze stroj který umí cizí klíče (InnoDB například)?
Tipnu si: Databáze je MyISAM a cizí klíče se ignorují.
Hitman
Profil
Aha, to mě nenapadlo, tip byl správný. Díky

Kategorie databáze jsem si nevšiml, myslel jsem že je to všechno pod php :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: