SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 21.12.2011 11:00:59

Scally
Участник
Зарегистрирован: 21.12.2011
Сообщений: 2

Если любая ошибка, то ничего не выполнять. Как?

Здравствуйте.
Одним запросом посылаю:

Update Tab1
Set Val1=1
Where ID=1;

Update Tab2
Set Val1=1
Where ID=1

Если вдруг по любой причине, хоть ошибке в синтаксисе, хоть отсутствии поля, одно из действий не выполнилось, то надо что-б и другое тоже не выполнялось.
На данный момент если в первом всё в порядке, а во втором ошибка, то первое по любому выполняется.
А нужно что-б даже если я их там 1000 сделаю и одно из них вызвало ошибку, то и все остальные 999 были пропущены/отменены.

Версия MySQL-клиента: 5.0.51a
тип таблиц MyISAM

Спасибо.

Неактивен

 

#2 21.12.2011 15:34:40

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Если любая ошибка, то ничего не выполнять. Как?

Никак. Транзакции поддерживаются механизмом хранения innodb.

Неактивен

 

#3 21.12.2011 16:53:32

Scally
Участник
Зарегистрирован: 21.12.2011
Сообщений: 2

Re: Если любая ошибка, то ничего не выполнять. Как?

Спасибо. Переделал таблицы в innodb

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson