Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как сделать тарнзакцию для таблицы типа MyISAM?
 
 автор: jeans1986   (02.11.2009 в 09:53)   письмо автору
 
 

Мне надо, чтоб несколько запросов выполнялись вместе, Т.е если какой то из них не выполнится то откат делать. Как можно это реалтзовать для таблиц типа MyISAM? Заранее благодарю.

  Ответить  
 
 автор: cheops   (02.11.2009 в 11:08)   письмо автору
 
   для: jeans1986   (02.11.2009 в 09:53)
 

Для этого нужно запустить транзакцию
START TRANSACTION

после успешного выполнения всех запросов - подтвердите транзакцию
COMMIT

Если хотя бы один из запросов не выполнен, отменяйте транзакцию при помощи ROLLBACK.

  Ответить  
 
 автор: jeans1986   (02.11.2009 в 12:31)   письмо автору
 
   для: cheops   (02.11.2009 в 11:08)
 


START TRANSACTON;
UPDATE tbl1 SET col1='123';
ROLLBACK;


Я делаю вот таким образом. По идее запрос должен откатыватся, но почему то значение col1 становится 123. Почему не подскажите? Где я ошибаюсь?

  Ответить  
 
 автор: cheops   (02.11.2009 в 12:43)   письмо автору
 
   для: jeans1986   (02.11.2009 в 12:31)
 

Хм... да, для MyISAM оператор UPDATE откатить нельзя, только для InnoDB.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования