|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.08.2011, 22:07 | #1 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
несколько запросов в БД
делается несколько UPDATE или INSERT INTO запросов. и если один запрос не выполняется по каким то причинам, то не должен выполниться не один запрос. Можно это реализовать?? или все таки нужно надеяться на удачу, что бы все запросы выполнились)))
если не выполнился первый запрос, то это можно отменить так: $query=query('запрос'); if ($query) $query=query('следующий запрос'); else echo 'ошибка'; а что если не выполнился последний(даже достаточно любого после первого) запрос?? выполнять query('delete'); предыдущих записей?? |
11.08.2011, 22:14 | #2 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 316
|
Покурите в сторону Join и и связей в базе данных. Ну там One to Many, Many to one, one to one. Это вам должно помочь.
благодаря Join возможно выполнить сразу несколько команд за один запрос |
11.08.2011, 22:26 | #3 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
dem66, я можно ссылочку?? если конечно же не затруднит вас)) видимо я здесь вообще темнота)))
|
11.08.2011, 22:28 | #4 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 3,301
|
Цитата:
to dem66: у него запросы UPDATE и INSERT - какой тут JOIN....??? Последний раз редактировалось Andkorol; 11.08.2011 в 22:37. Причина: wtf JOIN? |
|
11.08.2011, 22:34 | #5 |
Форумчанин
Регистрация: 14.04.2010
Сообщений: 145
|
конечно маловероятно, но... может сервер станет не доступным при последнем запросе))) так сказать свет отключат)))))
|
11.08.2011, 22:35 | #6 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Каковы причины не выполнения запросов?
|
11.08.2011, 22:46 | #7 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
То что вы пытаетесь сделать называется транзакция, но не все типы таблиц их поддерживают(например если работаете с mysql нужна innodb). Почитайте об этом.
Если нет возможности реализовать транзакцию, я бы написал хранимую процедуру. Последний раз редактировалось Cronos20; 11.08.2011 в 22:49. |
11.08.2011, 23:30 | #8 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Таких причин может быть много, с подобными вещами мы встречаемся каждый день, например, когда на платежном терминале в дождь пишет "Ошибка связи".
|
12.08.2011, 10:14 | #9 | |
Форумчанин
Регистрация: 20.02.2010
Сообщений: 229
|
Цитата:
По поводу нескольких записей, что-то мне подсказывает что у вас не совсем правильно устроена бд, посмотрите возможно получится некоторые таблицы и объеденить так будет несколько проще нежели для каждого запроса писать и условие и если запрос не выполнится то затрутся все только что вставленные\обновленные записи.
думай как баг, действуй как баг, и ты найдешь баг )
|
|
12.08.2011, 11:38 | #10 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 679
|
Ерунду говорите, делать руками откат в базе данных при добавлении большого количества записей глупо. Если проект серьезный и требует безотказной работы и стабильности, то и СУБД нужно выбирать нормальную (никак не mysql), которая на программном уровне поддерживает все это.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
DBGrid и несколько запросов | us4us | БД в Delphi | 7 | 26.04.2011 13:16 |
Несколько запросов к БД | artemavd | БД в Delphi | 8 | 15.09.2010 08:42 |
Несколько запросов в одном ADOQuery1 | XKsandrX | Общие вопросы Delphi | 3 | 31.05.2010 14:28 |
mysql - несколько запросов (C++ Builder2010) | animalshadow | Общие вопросы C/C++ | 0 | 31.03.2010 17:17 |
несколько запросов SQL | Arteom | БД в Delphi | 3 | 09.09.2007 23:39 |