Autor Zpráva
casc2
Profil *
Mám v db napr. strukturu:

tabulka uzivatele: uzivatel, domov
tabulka parametry: uzivatel, parametr1, parametr2
tabulka parametry2: parametr1, ......

Potřeboval bych pomocí cizích klíčů zajistit, že pokud se smaže záznam v tabulce uzivatel, tak se smaže i v těch dalších 2. Chtěl jsem to udělat jako foreign key z tabulky parametry(uzivatel) na tabulku uzivatele(uzivatel) a dale z tabulky parametry2(parametr1) na tabulku parametry(parametr1), jenže to mi nechce mysql povolit, protože dělám cizí klíč na tabulku, která už obsahuje relaci na nějakou jinou. Proč se mu to nelíbí a jak by to šlo spravit?
123456789
Profil *
Co třeba dát do tabulky parametry2 rovnou cizí klíč do tabulky uzivatele. Pak by neměl být problém.
casc2
Profil *
To nejde. Tabulka parametry2 nemá žádný přímý vztah k tabulce uzivatele, ale má vztah k tabulce parametry. Takže pokud smažu něco v uzivatele, tak se to musí smazat i v parametry a parametry2, pokud smažu něco v parametry, musí se to smazat i v parametry2.
123456789
Profil *
Třeba v Oraclu s těmi vícenásobnými klíči problém není.
casc2
Profil *
Tady taky ne, já jsem si nevšiml, že mám v jedny ty child tabulce hodnoty které nejsou v parent tabulce. Takže sorry za dotaz. ... mohlo by mysql házet lepší chybovou zprávu.
123456789
Profil *
Ja si rikal, ze je to nejake divne.

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:

0