Autor | Zpráva | ||
---|---|---|---|
casc2 Profil * |
#1 · Zasláno: 14. 3. 2010, 19:50:11
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 * |
#2 · Zasláno: 14. 3. 2010, 21:34:23
Co třeba dát do tabulky parametry2 rovnou cizí klíč do tabulky uzivatele. Pak by neměl být problém.
|
||
casc2 Profil * |
#3 · Zasláno: 14. 3. 2010, 21:38:33
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 * |
#4 · Zasláno: 14. 3. 2010, 21:58:43
Třeba v Oraclu s těmi vícenásobnými klíči problém není.
|
||
casc2 Profil * |
#5 · Zasláno: 14. 3. 2010, 22:05:50
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 * |
#6 · Zasláno: 15. 3. 2010, 10:17:35
Ja si rikal, ze je to nejake divne.
|
||
Časová prodleva: 14 let
|
0