Trigger – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Trigger – MySQL – Fórum – Programujte.comTrigger – MySQL – Fórum – Programujte.com

 

RePRO0
Super člen
6. 1. 2012   #1
-
0
-

Zdravím,
mám dvě databáze (nazvěme je první a druhá).
Dejme tomu, že první databáze má tabulku usersBB, druhá databáze má tabulku jenom users.

Tabulka usersBB v první databázi vypadá následovně:
usersBB = [bbID, bbNickname, bbPassword, ... ]
Tabulka users v druhé databázi vypadá následovně:
users = [ID_user, nick, gender, pass, gravatar, mail, law, group, colorOfNick, last_activity, isOnline]

No já potřebuji zajistit následující:
Pokaždé, když se přidá, upraví, smaže řádek z první tabulky (první databáze), tak aby se to projevilo i u druhé tabulky (druhé databáze).


Takže, pokud se v první tabulce udělá třeba INSERT (nový uživatel), tak mi stačí naklonovat (zkopírovat) bbID, bbNickname, bbPasword, možná i některé další sloupce z tabulky usersBB do tabulky users.

To znamená prakticky (pseudojazykem) toto:
databáze2.users.ID_user = databáze1.usersBB.bbID
databáze2.users.nick = databáze1.usersBB.bbNickname
databáze2.users.pass = databáze1.usersBB.bbPassword

Vůbec nevím co s tím, používám PHP a MySQL.
Byl jsem odkázán na Trigger, potřeboval bych ukázku přímo k tomuto problému. Dynamicky to (nějak) zajistit.
Snad mi rozumíte. Nějaké rady, nápady?

Díky, RePRO.

Nahlásit jako SPAM
IP: 95.82.185.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
zlz
~ Anonymní uživatel
634 příspěvků
6. 1. 2012   #2
-
0
-

V čem je problém? Dokumentace mi připadá srozumitelná.

Nahlásit jako SPAM
IP: 213.211.51.–
RePRO0
Super člen
6. 1. 2012   #3
-
0
-

Přímo pro můj příklad to demonstrovat. ;)

Nahlásit jako SPAM
IP: 95.82.185.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
mrataja
~ Anonymní uživatel
1 příspěvek
6. 1. 2012   #4
-
0
-
Nahlásit jako SPAM
IP: 193.33.22.–
RePRO0
Super člen
6. 1. 2012   #5
-
0
-

Zdravím,

ano, TRIGGERS nejsou žádná věda, musíme si však ale uvědomit, že já mám každou tabulku v jiné databázi.

Použít USE? Jak se to řeší? Každopádně díky za skvělý odkaz.

Nahlásit jako SPAM
IP: 95.82.185.–
Software: C; C++; C#; Pascal; Delphi; Java Webdesign: PHP; MySQL; CSS; jQuery; Ajax; Javascript; OOP
zlz
~ Anonymní uživatel
634 příspěvků
7. 1. 2012   #6
-
0
-

Ne, prostě jméno cílové tabulky zadáš i se jménem databáze. Takže pro "kopírování" insertu z db1.t1(a,b) do db2.t1(x,y) třeba takhle:

create trigger t1_ai
after insert on t1
for each row
insert into db2.t1 (x, y) values (new.a, new.b)
Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Podobná vlákna

TRIGGER MYSQL prosím o radu — založil Aricak

Trigger nad více tabulkama — založil Honza

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý