![]() |
|
Модераторы: 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 |
Вот почему люди не любят форумы, они спрашивают как это сделать ?
А им пихают ссылки какие они не понимают, они уже от злости готовы выбросить свой комп в окно. Яж только спросил как это сделать и можно это вообще сделать, не надо мне не каких ссылок которые я даже не знаю о чём там речь идет. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
А вот на форумах не любят людей, которые спрашивают "как сделать", при этом в принципе ещё не поняв, ни что надо сделать, ни зачем это что-то надо делать. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Это операторы, описывающие процесс создания БД с описанием типов и размерности полей, триггеров, индексов и т.п. к ней. А почему в коде нельзя проверять наличие поля-то? -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Akina
Ты не прав, ведь зачем тогда форум ? Попробую пояснить уже третий раз. Есть скрипт который должен обновить структуру таблицы добавив пару ячеек к таблицы не важно есть там уже эти ячейки или нет. Конечно когда скрипт повторно пытается вставить ячейки происходит ошибка. Уже покажу подробный запрос:
После чего выскакивает ошибка. Ну так вот как теперь написать правильный запрос чтоб пропускал ячейку если она уже существует. Или как правильно сказать. Добавлено через 3 минуты и 12 секунд А как ? |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Ты не прав, когда говоришь, что Akina не прав. Для того, чтобы обсуждать не тривиальные, не очевидные, спорные вопросы, которые нельзя однозначно почерпнуть из документации - нет? rtfm Только вот - нафиг не надо тебе оно, да ты слушать не хочешь -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Ну я не знаю, как на PHP это делать. Могу показать пример кода на Фоксе:
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
PHP все зависит от правильного запрос SQL.
Тогда он вернут положительный результат или ошибку SQL. Но я не могу найти правильный запрос SQL. Например я не понял что тут пишется ?
Понял только ALTER TABLE |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Форум для того, чтобы решать проблемы, проистекающие из незнания тонкостей предмета или особенностей конкретной ситуации. А вот создание себе проблемы с последующим её решением - это уже не для форума. По сабжу - ответ уже дан. Более того - если меняете схему данных, извольте озаботиться хранением текущей версии схемы и сверять её перед обновлением. Или тащить несколько скриптов и применять их последовательно, чтобы изменить версию схемы от текущей до нужной. Всё остальное сродни попытке второй раз съесть только что съеденное яблоко - если вдруг получится, то дерьма нажрёшься... не советую. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Словно битва титанов, мне любой ценой нужна так сделать а мне говорят что не советую так делать, после чего получается флуд на форуме а ответа нет.
Есть такое правило, клиент всегда прав |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Это ты себя титаном назвал штоле? Охты... а я все недоумева, кто же у нас тут определяет правила.... Спасибо. теперь буду в курсе. Ты тут тоже не прав. Мои клиенты мне платят в том числе и за то, что я им говорю где они не правы. Хочешь стать моим клиентом? Я тебе за деньги расскажу то же, что я тебе сказал и так: - то, что ты делаешь, ты делаешь совсем не так, как это должно быть сделано. Проблема, которая перед тобой стоит, на деле не существует, а потому решения не имеет. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Ну значит им потходит, но есть такие которым это не устраивает, например приходит покупатель в магазин выбрать телевизор. И о чудо он увидел красивый телевизор с великолепным дизайном, и тут потходит продавец и говорит что телек ### и лучше взять какой та простой по дизайну но с хорошим функционалом например вон тот. В итоге покупатель уже сидя дома не доволен, продавец подсунул ### какой то и зачем мне этот функционал, лучше яб взял тот. Вот такая неприятная ситуация. Я тоже дизайнер, конечно я пытаюсь подсказать что так неправильно, но я всегда знаю что клиент прав и его слово закон, как сказал так и будет и точка. А вот для меня это огромная проблема. Ну так и сразу бы сказали что это не возможно. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Давай так. До тех пор, пока ты не платишь денег, ты не клиент и правил не определяешь. Идет? А матюки и я могу писать в изобилии. Я тоже темпераментный. Хочешь я с тобой продолжу общение в заданном тобой тоне, используя ненормативную лексику? Твоя проблема - совсем в другом. Она на более высоком уровне, не на том отдельном шаге, который ты пытаешься сделать и у тебя не получается. И помочь тебе с решением твоей проблемы никак не удается, потому что ты зациклился на выполнении этого шага и даже шишка на уже набитая на голове не охлаждает твоего неистового рвения. Возможно. Чтением словаря данных. Ссыль на словарь я тебе уже давал. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| neoks |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 425 Регистрация: 5.7.2010 Репутация: 1 Всего: 1 |
Опять ты за свое, не хочешь помогать так не флуди тут и не выпендривайся, почему я обратился за помощью на другом форуме где мне за 20 минут и помогли.
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
По всему видать, на другом форуме тебе не желают столько добра, сколько желаю тебе я
-------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: нет Всего: 28 |
помнится я как то на CyberForum'е сидел. Хватило на пару дней. Ощущение что сидели там только школьники, которые не хотели думать вообще. Намеки на правильную идею просто игнорировались напрочь. Дай готовое решение и всё, другое не интересно.
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| 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. |