Lucrul cu trăgaciul (declanșatoare) în MySQL - pentru cod curat și clar!

prefață

Declanșările sunt proceduri speciale care sunt declanșate atunci când datele din tabelul operatorilor INSERT. UPDATE și DELETE.

Declanșatoare poate funcționa atât înainte, cât și după ÎNAINTE după tabelul de schimbare. Se pare că declanșatorul poate fi în 6 state.

Ce ai nevoie

Versiunea de bază de date de server 5.0.2 și de mai sus
privilegiul de a utiliza acest f-TION (TRIGGER) de la versiunea 5.1.6, înainte ca acesta a fost super, ci pentru că toate la nivel local, folosind utilizatorul root, nu ai de ce să se teamă

Adăugarea de declanșare

Pentru a înțelege funcționarea de declanșare are nevoie de un exemplu.

Necesară adăugarea unui tabel de înregistrare utilizator. converti parola hash MD5 (). numele și patronimic convertite în inițialele.

Acum, introduceți bara din spate

Ceea ce este acum în tabel

După cum se poate observa în doar câteva rânduri, puteți elimina întregul metodele pe care le-am folosit pentru a înregistra un nou utilizator. Acum, încă mai trebuie să creeze un declanșator pentru o actualizare de masă, cu același organism, că utilizatorul nu poate înregistra numele complet și parola nu sunt în MD5 ();

Crearea unui declanșator în UPDATE ÎNAINTE

Întrebările pot apărea, care este nou în organism de declanșare,
NOU - pentru accesul la noi recorduri
OLD - pentru a avea acces la înregistrările vechi

Napimer dacă am actualizat numele, noua valoare este disponibil pentru mine prin NEW.fam. și vechiul OLD.fam

Schimbarea de declanșare

Dar pentru a schimba comenzile de declanșare nu am găsit și a fost surprins să citesc pe forum si acolo - pur și simplu nu ((

de declanșare de la distanță

Pentru a elimina bistabilului este utilizat ca instrucțiune DROP obișnuită. exemplu

unde
nume_schemă - numele bazei de date,
TRIGGER_NAME - numele de declanșare

O listă de declanșatoare predefinite

Afișați declanșatorul, puteți utiliza comanda

Aceasta este o parte integrală a echipei, în principal, la echipa:

Asta e ceea ce vedem când executa comanda

gamă largă de alegere de cărți, electronice, aparate de uz casnic, veselă, cadouri, suveniruri si multe altele le puteți face pe site-ul companiei E5.RU. Cumpărați filme pe DVD în ambalajul original și de a face un cadou bun pentru rude și prieteni, poți acolo.

Cum pot întrerupe după executarea SQL Trigger?
Aceasta este, în anumite condiții, este necesar descrise în declanșator pentru a opri punerea în aplicare a SQL și care a provocat pe trăgaci.

Singurul lucru pe care am luat-o greșit pentru a efectua SQL-cod, oprind astfel executarea de cod SQL care este executat după declanșare.

text_status - I ENUM și nu are nici o valoare STOP_SQL_HACK, astfel încât apare o eroare, iar SQL nu este executat.

PS Acest kammenty doar de dragul trimiterilor încrucișate?

Scuze, mi-e dor. Puteți fi eliminate.

Bună ziua Max. Nu Fondată în Google comunicare gratuit cu tine peste tot ... să se înregistreze.
Trebuie să adăugați sau de declanșare. plug-in WordPress pentru comentarii, și anume, astfel încât utilizatorul a seta ora prin care comentariul este șters automat. Serghei 0507089682

Este posibil să se facă o Introduceți date utilizând declanșatoare la o altă masă?
Ie Am nevoie după INSERT INTO valorile `A` (1, # 'testul #', # 'testul #');
SET @id: = LAST_INSERT_ID ();
adăugați o intrare în alt tabel b dar utilizarea @id a tabelului A.

Încercați! Ai învăța multe.

În exemplul dvs. creează un declanșator cu același cod 2 executiv la evenimente inainte de a se și înainte de UPDATE, și dacă este în al doilea caz (înainte UPDATE) în loc de a crea o copie funcțională pentru a se referi la un declanșator gata de o inainte de a se?

De referință nu poate, dar puteți face procedura de which'll transferi valori, iar în procedura lista deja cererea de actualizare. Dar, în acest exemplu, este mai ușor de făcut, deoarece am scris pentru că procedurile, nu am spus în acest articol.

În cazul în care pentru a scrie codul sursă al declanșare, care este stocat? De exemplu, folosesc programul Navicat pentru a accesa baza de date

Salutări! Sool, ești un foarte prost citit articolul, totul este scris, modul de a crea, șterge de declanșare. Dacă aveți o întrebare despre Navicat, apoi citiți întrebările frecvente pentru acest program, eu nu-l folosesc.