![]() |
|
Модераторы: skyboy |
![]()
|
|
| neoks |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Суть такова, пытаюсь обновить структуру таблицы добавив пару ячеек.
Уже пол дня просидел, не чего толком не нашол. Нашол какой та SQL ну так и не понял.
Пытался переделать вот так.
Не выходит, пишет:
Вообщем мне нужно добавить ячейки без ошибки на дубликацию. Удалять ячейки перед добавление не вариант. Нужна ваша помощь и возможно ли это вообще! |
||||||
|
|||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Почему игнорировать ошибку - не вариант? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
||||
|
||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Я задал вопрос - почему. Мне не понятно. Если бы мне пришлось реализовывать что-то подобное, я бы просто выполнял
и, если происходила бы ошибка, просто игнорировал бы ее. И все. Проблемы - нет. Мне не понятна причина, почему вас парит этот вопрос. Это сообщение отредактировал(а) Zloxa - 12.7.2011, 15:51 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
| neoks |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Чот я сам запутался
Еше раз Запрос такой:
Нужна добавить ячейки в таблицу, первый раз все отлично происходит. Но при попытка добавить повторно ячейки, выскакивает сообщение.
Вот и отсюда вопрос, как сделать чтоб не было ошибок. Удалять ячейки перед тем как добавить не прокатит |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Мой же вопрос в том, чем мешает вам эта ошибка. Ну есть она и есть. Что в ней плохого? Добавлено через 2 минуты и 50 секунд может быть она прерывает выполнение пакетного задания? Может быть на самом деле вас интересует вопрос - как сделать чтобы среда исполнения не прерывала пакетного задания? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Да, работает скрипт который обрабатывает запросы, при повторной обработки и выскакивает ошибка которая прерывает всю операцию. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Ладно, не буду ходить вокруг да около.
Вероятнее всего вы пишите сценарий инкреметнального наката обновления схемы данных. Подобные сценании, как правило, не предназначены для повторного выполнения. Не... не "как правило". Не предназначены и баста. По этой причине прерывание работы сценария, в случае, если исходная версия схемы данных не соответствует необходимой - скорее благо, предотвращающее порчу данных нежели зло, которое следует избегать. Вы желаете откровенно странного. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Ну представим что есть движок у которого есть маркет.
Понятное дело что с первого раза может и не получится установить модуль, обновление mysql пройдет а сам модуль может и не установится. Конечно пользователь захочет повторно установить модуль, а тут баг и дуля с маком Естественно чтоб избежать неприятностей нужно кокой то решение. И вот есть идея которая не работает, вариант второй отключить вывод ошибок и продолжить дальше, но и тут есть проблема. Ведь если таблица не была создана значит и модуль не правильно был установлен. Теперь ломаю голову и думая что можно еше придумать. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Откатываться из бэкапа, который обязательно должен был быть произведен перед установкой, и отвес по полной люлей разрабу. Для того чтобы откатить последствия не полностью отработавшего DDL скрипта, нужны более чем пользовательские компетенции. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Лан, решил сделать по простому и банально.
При добавлении ячеек отключить вывод ошибок. При обновление оставить вывод ошибок. Пока не найду альтернативу будет так. Не понял о чём речь, может я не доконца объяснил, что за DDL? у меня php движок, а насчет бекапа тоже не совсем понял. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
http://lmgtfy.com/?q=ddl&l=1 Одно из основных отличий DDL от DML в том, что не существует способа обеспечения атомарности операций(как механизм транзакцй в DML), по этой причине срубившийся по ошибке DDL скрипт может оставить базу данных в не согласованном состоянии. Именно по этой причине DDL надлежит использовать лишь техническому персоналу и лишь при обслуживании базы данных. Добавлено через 12 минут и 58 секунд
Пожалуй я тоже не понял о чем речь. Если у вас инсталляционный скрипт, зачем там alter table, почему не сделать сразу в create table. Если у вас не обновление версии базы данных, то где вы используете alter? Не в приложении ли? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Кароче я не черта не понял, и зачем вообще этот DDL и что это такое.
Как говорится по старинке |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Мне опять ссыль дать штоле? -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Вот почему люди не любят форумы, они спрашивают как это сделать ?
А им пихают ссылки какие они не понимают, они уже от злости готовы выбросить свой комп в окно. Яж только спросил как это сделать и можно это вообще сделать, не надо мне не каких ссылок которые я даже не знаю о чём там речь идет. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |