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

Форум MySQL

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

 

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

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

тема: Транзакции
 
 автор: tester   (07.01.2006 в 17:54)   письмо автору
 
 

Кто нибудь работал с командами BEGIN, COMMIT, ROLLBACK, START TRANSACTION?

Мне надо выполнить четыре запроса.
И если один из них не выполниться, то надо все вернить как было.
Подскажите пожалуйста как мне это лучше сделать.

   
 
 автор: cheops   (07.01.2006 в 20:14)   письмо автору
 
   для: tester   (07.01.2006 в 17:54)
 

Во первых вам необходимо использовать тип таблицы, который поддерживает транзакции, например, MyISAM их не поддерживает, в то время как InnoDB и BDB поддерживают. Далее следует начать транзакцию при помощи запроса
START TRANSACTION

Если все четыре операции прошли без сбоев, следует выполнить запрос
COMMIT

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

база данных вернётся в исходное состояние, которое было до операции START TRANSACTION.

   
Rambler's Top100
вверх

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