Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Два апдейта зависящие друг от друга 
V
    Опции темы
Plavozont
Дата 16.12.2011, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Мне нужно выполнить два оператора UPDATE, если не сработал первый - не выполнять второй, если не сработал второй - не выполнять первый. Как это сделать ? Запросы являются параметрами функции, поэтому не срабатывать они будут из-за синтаксической ошибки или неправильных названий таблиц/полей как правило.

Это сообщение отредактировал(а) Plavozont - 16.12.2011, 12:30
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
sir_nuf_nuf
Дата 16.12.2011, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 8
Всего: 31



Не выполняйте их вообще.
Все верно - ни один не работает - ни один не запускается.

Если серьезно - у вас противоречие в условии.
Нельзя узнать сработал ли запрос пока его не запустишь.


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
Akina (Online)
Дата 16.12.2011, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Оберни их в одну транзакцию.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Plavozont
Дата 16.12.2011, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Цитата

Оберни их в одну транзакцию.


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

Это сообщение отредактировал(а) Plavozont - 16.12.2011, 15:40
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina (Online)
Дата 16.12.2011, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Plavozont @  16.12.2011,  16:39 Найти цитируемый пост)
Есть какой-то способ помимо транзакций, для таблиц не поддерживающих транзакции 

Угу... бэкап перед запросом и восстановление из него, если ошибка. Устроит?

Цитата(Plavozont @  16.12.2011,  16:39 Найти цитируемый пост)
Может быть также есть способ проверить обречён ли запрос на провал ?

Распечатать его и сходить к бабке-гадалке.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
solenko
Дата 16.12.2011, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 4
Всего: 67



Просто проверить синтаксис можно, например, выполнив explain (если он работает для update)


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Plavozont
  Дата 16.12.2011, 19:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



explain не работает для update

Цитата

Распечатать его и сходить к бабке-гадалке.


А вы если ничего умного предложить не можете то и не умничайте 
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina (Online)
Дата 16.12.2011, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Plavozont, Вы желаете сделать то, что В Ваших конкретных условиях сделать нельзя. И тем не менее упорствуете... "А может, всё-таки можно, мне же очень надо!" ... не тот случай.
Перейдите на транзакционный движок. Это гарантирует решение поставленной задачи.

Или, если устроит, перейдите на полное триггерное журналирование изменений - правда, оно потребует организации монопольного доступа и блокировки всей БД по записи. Да и ручной откат изменений - та ещё задачка.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Plavozont
Дата 17.12.2011, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 14.4.2008

Репутация: нет
Всего: нет



Akina, большое спасибо, жаль что такой облом. Казалось бы такая банальная штука как проверка синтаксиса / правильности названий таблиц/полей и не предоставлена во власть пользователя.
--------------------
Fortunately, the circumstances under which those words are useful run out at a relatively low level of multiplicity.
PM MAIL   Вверх
Akina (Online)
Дата 17.12.2011, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Plavozont @  17.12.2011,  11:08 Найти цитируемый пост)
Казалось бы такая банальная штука как проверка синтаксиса / правильности названий таблиц/полей и не предоставлена во власть пользователя. 

Синтаксический контроль текста запроса как раз провести можно - правда, не для всех типов запросов... это делает explain. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0944 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.