Беда с транзакциями

OkyHb

Guest
Беда с транзакциями

пытаюсь сделать так:

SET AUTOCOMMIT = 0;
START TRANSACTION;

insert.....
select....
insert.....
insert....

COMMIT;

Но при ошибках часть операций все равно сохраняется...

может я что не так делаю?
 

si

Administrator
а можно тогда уж пример как надо делать...я видать не догоняю...раньше не работал с транзакциями
откуда транзакция знает что она должна откатиться ?
 

OkyHb

Guest
(боюсь что не то) ну в SQLServer делают вроде так: if @@errorcount

как узнать, что возникли ошибки?
 

OkyHb

Guest
хмм, в моем запросе возможно сделать так:

IF LAST_INSERT_ID() = 0 THEN ROLLBACK

но вот только ничерта не пойму как такую конструкцию построить.....

или пока нельзя еще делать IF-THEN-ELSE ???
 

si

Administrator
вы запросы как выполняете ?
Руками в клиенте их набираете или это скрипт на РНР ?
 

OkyHb

Guest
сначала пробую в клиенте. потом хачу в скрипте.
 

OkyHb

Guest
ладно, сделал все через PEAR DB. Буду ждать пятой версии мускуля.
 
Сверху