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 |
#2 · Zasláno: 30. 7. 2014, 15:44:37
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 :-) |
||
Časová prodleva: 10 let
|
0