| -Code46- |
Post
#1
|
|
Goście |
Witam!
Wkońcu natrafiłem na problem dotyczący kasowania danych z bazy mysql. Temat dotyczy bardziej bazy niż php ale mam nadzieję, że mi pomożecie.. Mam kilka tabel. Kasując informacje z jednej, muszę usunąć odpowiednie dane z innych tabeli. Wiem, że instrukcji DELETE nie można użyć tak jak select. Dla każdej tabeli należy wywołać osobno instukcję DELETE. Poczytałem sobi o trancakcjach i blokowaniu ale nie wiem jak to zastosować w praktyce. Chodzi mi o to, że gdy skasuję z tablei kont użytkownika, a z drugiej tabeli (tam gdzie mam dane o użytkownikach) nie uda się skaować odpowiedniego wpisu (np z nieznanych przyczyn) to tabelę z kontami doprowadzę do stanu z przed wykonani instrukcji DELETE, po to aby baza się nie posypała. Jak to zrobić? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 28.11.2005 Ostrzeżenie: (0%)
|
Proste pytanka:
1. czy polecenie "FOR UPDATE" bedzie dzialalo jak trzeba (czyli zablokuje wiersz), jesli nie skorzystam z transakcji (czyli bedzie wiersz zablokowany do czasu update'u)? 2. jesli bedzie w transakcji, to blokada wiersza jest (o ile dobrze zrozumialem) do czasu wykonania zapytania COMMIT. Czy bedzie ona rowniez dzialac do czasu wykonania zapytania ROLLBACK lub do czasu, kiedy skrypt skonczy sie wykonywac (po tym czasie blokada "znika")? Ten post edytował MiGoo 6.07.2006, 14:19:08 |
|
|
|
Code46 Transakcje i blokowanie 17.04.2005, 14:48:57
SongoQ Mozna to zrealizowac na 2 sposoby.
1. Tabela typu... 17.04.2005, 15:12:27
Guest Cytat(SongoQ @ 2005-04-17 14:12:27)Mozna to z... 17.04.2005, 19:30:31
Code46 Cytat(SongoQ @ 2005-04-17 14:12:27)Mozna to z... 17.04.2005, 23:11:05
SongoQ CytatCo to jest ta tabela typu INNO DB? I kiedy st... 18.04.2005, 04:32:20
Code46 Cytat(SongoQ @ 2005-04-18 03:32:20)Podam moze... 18.04.2005, 09:31:41
SongoQ CytatW tabelach które podałeś zamiast Kla_Use_id p... 18.04.2005, 09:54:26
Guest No dobra ale jak to zrobić, żę usuwając jeden wpis... 18.04.2005, 13:13:42
matid Cytat(Guest @ 2005-04-18 14:13:42)No dobra al... 18.04.2005, 13:50:38
SongoQ Nie wystarczy ze zrobisz:
[SQL] pobierz, plaintex... 18.04.2005, 14:37:59
Code46 PYTANIE 1
Hmm.. Chyba źle to robiłem. Najpierw nap... 18.04.2005, 19:34:00
SongoQ CytatAle dlaczego tak się dzieje? Czy może to byc ... 18.04.2005, 20:02:49
Code46 CytatWsumie sam sobie odpowiedziales, dlatego sie ... 18.04.2005, 20:31:31
SongoQ CytatJak dokładnie (np na przykładzie mojej tabeli... 18.04.2005, 21:08:10
Code46 CytatDla konta_id z tabeli dane tworzysz index, na... 18.04.2005, 22:34:19
SongoQ [SQL] pobierz, plaintext CREATE TABLE `bb` (`a... 19.04.2005, 00:14:32
Code46 Ok ostatnie pytanie. Zrobiłem dwie tabele:
[SQL] p... 19.04.2005, 11:13:32
SongoQ CytatAle z tego co pisałeś wcześniej, odpowiedni w... 19.04.2005, 14:46:56
Code46 CytatAle typ powiazania ma byc CASCADE czyli.
[SQ... 19.04.2005, 16:41:58
Code46 Działa
Ostatnie pytanie. Uruchamiam transakcje k... 19.04.2005, 18:46:56
SongoQ CytatMoim zdaniem to jest trochę tak od "pupy... 20.04.2005, 00:29:34
KG- ad. 1) Nie, zostanie zignorowane. Blokowanie wiers... 6.08.2006, 21:54:04 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 10:07 |