Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Cepela 18 Září 2009, 18:43:38

Název: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: Cepela 18 Září 2009, 18:43:38
Ahoj, potreboval bych poradit. Mam dve databaze, jedna je pro webove stranky, kde mam uzivatele a jejich hesla pro prihlaseni na stranky a pak dalsi databazi s tabulkou uzivatelu pro maily a potrebuji, abych pouze u nekterych mohl pouzit heslo z databaze pro webovky do databaze na mail, tak ze kdyz si uzivatel zmeni heslo pro webovky, tak se mu zmeni i pro mail.
Databaze pro webovky je treba drupal, tabulka users a bunka pass z ktere potrebuji vytahnout heslo (unikatni pro kazdeho uzivatele je uid).
Databaze pro maily je treba mail, tabulka mail_user a bunka password (unikatni pro kazdeho uzivatele je mailuser_id).
Dekuji za kazdou radu. Jo a pokudmozno aby to slo udelat pres phpmyadmin.
Název: Re: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: Martin Kiklhorn 18 Září 2009, 21:06:41
celý seriál o mysql máte tady: http://www.linuxsoft.cz/article.php?id_article=882 ale počítám že v tom poli "pass" heslo nebude, jen hash.
Název: Re: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: wam]Spider007 19 Září 2009, 00:21:14
no a v com konkretne je problem? Nevies ziskat data z tabulky z inej databazy alebo co presne chces spravit. Nejak nechapem z toho popisu.
Název: Re: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: Cepela 19 Září 2009, 00:45:13
Nevim co mam zadat do te bunky password v tabulce mail_user databaze mail, aby mi to bralo hodnoty z te druhe. Ano, patrne je to v hash, ale to by snad nemelo vadit, nebo ano? Ten serial sem prochazel, ale nejak sem tam neco na tento zpusob nenasel.
Název: Re: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: Martin Kiklhorn 19 Září 2009, 03:02:05
Jestli chápu dobře tak pořebujete když se v tabulce webovky změní heslo tak se má automaticky změnit na stejné i v tabulce maily
A zároveň platí že si odpovídají uid v obou tabulkách.

Vytvořil bych tedy trigger který bude hlídat změny v tabulce webovky a po změně nastaví i heslo v tabulce maily. Nějak takto:
Kód: [Vybrat]
CREATE TRIGGER zmenmailheslo
AFTER UPDATE ON webovky
FOR EACH ROW
BEGIN
UPDATE  maily SET heslo=NEW.heslo WHERE uid=NEW.uid;
END;

K druhé části otázky - phpMyAdmin nepoužívám, ale zeptejte se Googlu (http://lmgtfy.com/?q=Vytvo%C5%99en%C3%AD+triggeru+v+phpMyAdmin)
Název: Re: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: wam]Spider007 19 Září 2009, 11:00:21
no mas 2 moznosti:

1. trigger ako napisal kilkhorn. Nenapisal ho sice uplne presne na tvoje tabulky a databazy, ale predpokladam, ze chcel, aby si nad tym aj pouvazoval.
2. tabulku mail_user zrusis a vytvoris si view s nazvom mail_user, ktore bude mat ako zdroj dat tabulku users s databazy drupal. Samozrejme stlpcom das aliasi, aby sa view navonok spravalo ako ta predosla tabulka mail_user.
Název: Re: Propojeni hodnot v tabulkach databazi MySQL
Přispěvatel: Cepela 23 Září 2009, 00:51:33
Omlouvam se, mel sem toho tedka moc, kazdopadne diky za info.
kiklhorn> to vipada celkem pouzitelne, sice vubec netusim co je to trigger, ale to uz mi strejda google prozradi. Jediny problem je, ze uid si v tabulkach neodpovidaji, ale uz by asi nemel byt problem do jedne z tabulek pridat sloupec s "dalsim" uid, ktere bude odpovidat druhe tabulce a delat to podle nej. Pokud se pletu, tak me prosim nekdo hodne rychle nakopnete, nez zase napacham vic skody, nez uzitku.

wam]Spider007> Ta druha moznost mi prijde az moc zaludna, navic se obavam ze by ani nebyla mozna, protoze ta tabulka mail_user je i pro jine domeny, takze ji nemuzu propojit s tou pro webovky.