Autor | Zpráva | ||
---|---|---|---|
Adam16 Profil |
Zdravím, chcem sa spýtať či neviete niekto ako spraviť aby bola jedná hlavná tabuľka a podľa nej sa riadili ostatné.
napríklad: mám v hlavnej tabuľke číslo 1 tak ho mám aj v pod tabuľkách a keď v hlavnej tabuľke zmením číslo 1 na číslo 2 tak sa zmení vo všetkých pod tabuľkách ale nechcem aby bolo tak že keď v pod tabuľke zmením číslo 1 na číslo 2 tak v hlavnej bude stále 1. nejaké nápady ? vopred ďakujem :) |
||
juriad Profil |
#2 · Zasláno: 20. 1. 2014, 18:08:55
Nejspíš se snažíš znásilnit databázi k něčemu, k čemu není určená.
Každou informaci bys měl mít uloženou na právě jednom místě. Možná se ale snažíš o něco jako: v hlavní tabulce je výchozí hodnota a v tabulkách detailů je možné tuto hodnotu přebít. Pak zase, hodnota bude uložená jen na jednom místě. |
||
Tori Profil |
#3 · Zasláno: 20. 1. 2014, 18:12:27
Možná trigger na insert do hlavní tabulky?
Jinak, jakým způsobem potom ta data čtete? Šlo by třeba ten sloupec v podřízené tabulce nechat NULLový, má-li se použít hodnota z hlavní tabulky, tzn SELECT IFNULL(child.col, parent.col) columnName .
Ale co když je takováhle situace: 1. v hlavní tabulce nastavíte nějaké číslo a to se nastaví i všem závislým tabulkám. 2. v závislé tabulce toto číslo změníte. 3. v hlavní tabulce opět změníte číslo - co teď bude v závislé tabulce? Má se opět hodnota přepsat tou z hlavní tabulky (= v takovém případě nevidím smysl ji vůbec v závislé tab. ukládat), anebo jakmile byla jednou pro závislou tabulku nastavená nějaká hodnota, tak už se nedá přepsat tou z hlavní tabulky (v tom případě NULLový sloupec + zmíněný select)? |
||
Časová prodleva: 10 let
|
0