Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Skúsený užívateľ
Skúsený užívateľ
jednoduchá transakcia mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok NapísalOffline : 22.10.2008 12:33

Zdravíčko

Nemám zatiaľ žiadne praktické skúsenosti s transakciami.
Potreboval by som spraviť SELECT a hneď za tým update alebo delete (to je jedno). Ten istý skript bude bežať v niekoľkých procesoch pod rovnakým db userom.
Potrebujem zabezpečiť to, aby sa náhodou nestalo, že si dvaja zoberú z tabulky ten istý riadok.
Bude stačiť ak dám
Kód:
START TRANSACTION;
SELECT nieco FROM tabulka LIMIT 1;
DELETE FROM tabulka WHERE nieco=nieco_zo_selectu;
COMMIT;
?
Engine mám na tú tabuľku InnoDB.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.10.07
Prihlásený: 02.09.09
Príspevky: 7
Témy: 0
Príspevok NapísalOffline : 22.10.2008 13:04

ty skôr potrebuješ uzamykanie, transakcie na toto neslúžia..

http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html

každopádne by si asi uzamknutie tabuľky tabulka pre čítanie ani nepotreboval, pretože ten delete môžeš spraviť aj subselectom..


Offline

Skúsený užívateľ
Skúsený užívateľ
jednoduchá transakcia mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok Napísal autor témyOffline : 22.10.2008 13:13

aha... a keď uzamknem tabulku a v tom čase sa bude snažiť dostať "druhý skript" k tej tabulke, vráti chybu alebo čaká?







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.10.07
Prihlásený: 02.09.09
Príspevky: 7
Témy: 0
Príspevok NapísalOffline : 22.10.2008 13:19

počká.. teraz ma napadlo, že ten subselect ani nepôjde (vzhľadom na to, že nemôžeš čítať tabuľku, nad ktorou sa takéto operácie vykonávajú)..

//som si na začiatku nevšimol, že robíš nad jednou tabuľkou :) uzamykanie ani nepotrebuješ, stačí keď ten delete/update vykonáš normálne..


Offline

Skúsený užívateľ
Skúsený užívateľ
jednoduchá transakcia mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok Napísal autor témyOffline : 22.10.2008 13:52

práveže niečo na to potrebujem, pretože keď pôjdu tie skripty súbežne, môže sa stať, že bude priebeh z pohladu databázy takýto:
skript1 - SELECT id FROM tabulka LIMIT 1 // vrati 1
skript2 - SELECT id FROM tabulka LIMIT 1 // vrati 1
skript1 - DELETE FROM tabulka WHERE id=1
skript2 - DELETE FROM tabulka WHERE id=1

Ideálne by bolo, keby to išlo
skript1 - SELECT id FROM tabulka LIMIT 1 // vrati 1
skript1 - DELETE FROM tabulka WHERE id=1
skript2 - SELECT id FROM tabulka LIMIT 1 // vrati 2
skript2 - DELETE FROM tabulka WHERE id=2
ale to by som sa musel spoliehať na náhodu







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.10.07
Prihlásený: 02.09.09
Príspevky: 7
Témy: 0
Príspevok NapísalOffline : 22.10.2008 13:56

ale nerozumiem prečo z tej tabuľky niečo načítaš a potom podľa toho z nej mažeš? prečo nespravíš rovno delete from tabulka where id = ?..


Offline

Skúsený užívateľ
Skúsený užívateľ
jednoduchá transakcia mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96
Príspevok Napísal autor témyOffline : 22.10.2008 14:03

To je taká ako keby temporary table. Tam si načítam nejaké údaje a postupne ich spracovávam, robím kadejaké hovadinky s tým a tak. Každý riadok potrebujem spracovať iba raz. Všetko by bolo v pohode, nič také by som nepotreboval, keby som to nemusel ešte rozdeľovať na rôzne procesy, možno aj rôzne servery...







_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. jdbc transakcia

v Databázy

0

622

29.03.2009 14:48

tlacitko Enter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoduchá stránka

v Webhosting a servery

7

560

06.05.2014 14:09

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoducha galeria

v Ostatné

1

502

09.02.2010 14:17

don jebot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoducha vyhybka

v Zvuk

3

2349

12.01.2010 20:30

KocuR Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jednoducha funkcia

v PHP, ASP

7

693

26.12.2007 13:42

Flety Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoducha otazka....

v nVidia grafické karty

18

1199

05.05.2008 17:08

luboxxx Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jednoducha kalkulacka

v Assembler, C, C++, Pascal, Java

6

1475

17.01.2012 15:33

vychytraly Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoduchá hashovacia funkcia

v JavaScript, VBScript, Ajax

3

393

20.09.2014 20:27

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. jednoducha 2d animacia

v Grafické programy

5

612

24.07.2011 16:06

svejk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. python - jednoduchá úloha

v Perl, Python, Ruby, CGI

5

961

08.06.2020 14:50

ux Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ajax jednoducha funkcia

v JavaScript, VBScript, Ajax

7

528

24.04.2010 20:20

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoduchá úprava videa

v Video programy

29

1117

02.05.2015 13:16

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoducha ochrana systemu

v Antivíry a antispywary

7

699

31.07.2008 19:12

dedko45 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoducha stranka na vypocet

v Ostatné

11

904

01.06.2011 6:39

borisko27 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoducha MVC aplikacia PHP

v Ponuka práce

0

409

12.12.2014 17:42

peter902 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jednoduchá stránka//rozhodenie stránky

v HTML, XHTML, XML, CSS

7

516

28.03.2013 12:45

Merlin_sk Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra