Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL Triggery i transakcje
Forum PHP.pl > Forum > Przedszkole
db
witam czy ma ktos namiary na jakies tutki albo artykuly jak uzywac triggerow i transakcji

z gory dziekuje za pomoc
SongoQ
Transakcjie wystarczy ze masz tabele jako INNODB, a triggery sad.gif nie znajdziesz w mysqlu.
sobstel
Cytat(SongoQ @ 2005-05-11 15:06:17)
a triggery sad.gif nie znajdziesz w mysqlu.

podstawowa obsluga triggerow jest poczawszy od wersji 5.0.2, z tym ze 5.x jest dostepne tylko jako dev.
SongoQ
O. No to w tyle zostalem z MySQLem. Widze ze nawet wprowadzili mozliwosc rozbudowania takiego wyzwalacza. (BEGIN ... END).

He he cos mi tu z 5.x powoli zalatuje PL/SQLem. Poczekamy zobaczymy:)
code46
Cytat(SongoQ @ 2005-05-11 22:29:16)
O. No to w tyle zostalem z MySQLem. Widze ze nawet wprowadzili mozliwosc rozbudowania takiego wyzwalacza. (BEGIN ... END).

He he cos mi tu z 5.x powoli zalatuje PL/SQLem. Poczekamy zobaczymy:)

Co to są trigery?
SongoQ
Trigger (wyzwalacz) - wyzwalane zdazenie w bazie (funkcja, procedura) na np dodanie rekordu, usuniecie, lub educje. Czyli tak krotko mowiac jesli dodajesz jakis rekord to np automatycznie odpalany jest podprogram w bazie danych ktory ma wynuje okreslona funkcjonalnosc.
db
no ok smile.gif a jakis may tutek odnosnie transakcji?? dobrze by byl w wersji PL smile.gif przegladalem forum i znalazlem topic code46 gdzie dosyc sporo SongoQ wyjasnial ale dobrze by bylo miec arta jakiegos gdzie rozne aspekty sa przedstawione i wyjasnione
SongoQ
@db Niestety nie spotkalem sie z artykulem na ten temat (MySQL transakcje) ale mysle ze na pewno ktos opisal w naszym jezyku. Jestem pewien ze w ksiazkach znajdziesz bardziej szczegolowe wytlumaczenie.

Tak naprawde baza danych bez transakcji traci swoj urok.
sobstel
poszukaj w manualu mysqla
db
no cos tam poczytalem a teraz pytanie smile.gif o co chodzi z autocommit?? co jest jak jest rowne 0 a co jak 1?? do czego to sluzy??
matid
Cytat(db @ 2005-05-12 19:59:07)
no cos tam poczytalem a teraz pytanie smile.gif o co chodzi z autocommit?? co jest jak jest rowne 0 a co jak 1?? do czego to sluzy??

Jeśli AUTOCOMMIT jest ustawione na 0 to każde zapytanie UPDATE, INSERT, itp. lub seria takich zapytań musi być potwierdzona zapytaniem COMMIT, które wykona te polecenia na bazie danych.
Jeśli AUTOCOMMIT jest ustawione na 1 to po każdym zapytaniu UPDATE, INSERT, itp. zmieniana jest baza danych.
bumba
A czy istnieje rozwiązanie problemu współbiezności w MySQL? tzn. Załózmy, że A wyczytuje wiersz, potem robi to B zmieniając jednocześnie którąś kolumnę, to A ma nieaktualne dane. Mozna zablokowac np wiersz w tabeli i zrobic obsługe błędów?
Marcin_m
Do tego właśnie służy obsługa tranzakcji:

A. Rozpoczyna :
Lock tables tabele WRITE|READ
Begin
zapytania
Commit #lub Rollback
Unlock tables

w tym czasie B nie może korzystać z bazy (oczywiście ten czas to jakies ulamki sekundy) (tzn. może czytać baze jeżeli nie ma blokady read)

Nie pamiętam tylko czy w przypadku tranzakcji (czyli Begin-Commit w tabelach BDB/innoDB) trzeba dodawać Lock Tables . Napewno nie powinieneś mieć autocommit na 1.
SongoQ
Cytat
Nie pamiętam tylko czy w przypadku tranzakcji (czyli Begin-Commit w tabelach BDB/innoDB) trzeba dodawać Lock Tables . Napewno nie powinieneś mieć autocommit na 1.


Dla INNODB nie potrzebne jest blokowanie tabeli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.