[ Cyberghost @ 13.10.2008. 11:15 ] @
START TRANSACTION;
INSERT INTO user VALUES (1, 'Aca', '09909090909');
INSERT INTO user VALUES (2, 'Srdjan', '099115151515');
COMMIT;

Probano sa mySQL Query Browser, inace ce se pokretati iz Java programa.

Niti se izvrsi upis u bazu niti se javi greska, COMMIT se ponasa kao ROLLBACK.
Inace mySQL se ponasa korektno kada upisujem bez transakcija, ali posto
imam upis u vise tabela i po upisu 10-50 zapisa moram da koristim transakcije.

Tabela je InnoDB. Verzija MySQl-a je 5.


[ Shinhan @ 14.10.2008. 07:19 ] @
Ono 1 i 2, to su Primary Key?
Zašto ne staviš NULL i pustiš auto_increment da generiše brojeve. Ako ti baš treba ID za kasnije upite, koristi LAST_INSERT_ID();
[ agvozden @ 14.10.2008. 08:36 ] @
sta pise u log fajlu?
[ Cyberghost @ 14.10.2008. 10:18 ] @
Evo kako sam resio problem.

Ono sto sa kucao kao sto sam rekao je bilo iz Query Browsera.
Kada sam u Javi gre programiram uradio samo

Code:

konekcija.setAutoCommit(false);
Insert
insert
insert .......

konekcija.commit();


Transakcija radi bez problema, a zasto nije htelo iz Query Browser-a nije mi jasno.
[ bogdan.kecman @ 15.11.2008. 01:36 ] @
Citat:
Transakcija radi bez problema, a zasto nije htelo iz Query Browser-a nije mi jasno.


zato sto ti je u query browser-u bio upaljen autocommit

Ima sam Query Browser par nezgodnih bagova (posebno sa radom sa velikim bazama sa na primer 40000 tabela i slicno), ali posto se trenutno radi na tome da se sve funkcije Query Browsera i Administratora integrisu u WorkBench razvoj na QB-u je prilicno "stao"
[ _Abraxas @ 24.11.2008. 16:23 ] @
Citat:
bogdan.kecman: zato sto ti je u query browser-u bio upaljen autocommit


A kako se isključuje autocommit???Tačnije, kako obezbediti izvršenje više upita koji su odvojeni tačka-zarezom? Probao sam sa start transaction, setovanjem commit na 0, ali nista nije pomoglo (ovo je sve rađeno iz query browser-a).
[ bogdan.kecman @ 24.11.2008. 16:29 ] @
Citat:
_Abraxas: A kako se isključuje autocommit???Tačnije, kako obezbediti izvršenje više upita koji su odvojeni tačka-zarezom? Probao sam sa start transaction, setovanjem commit na 0, ali nista nije pomoglo (ovo je sve rađeno iz query browser-a).


u Query Browser-u imas "dugme" za begin / commit transakcije .. koristi to za pocetak i za kraj transakcije i "trebalo bi da radi" .. ja ne trosim isti tako da nisam 1000% siguran. QB za "svaki" query pravi novu konekciju, tako da se svaka ta instrukcija zapocne i zavrsi u jednoj konekciji tako da je jedini nacin bas to ... kliknes na dugme "begin transaction" .. kad zavrsis "end transaction" i to bi trebalo da sljaka ... javi ako nece da instaliram QB pa da probam