Здравствуйте. У меня есть база данных, в которой время от времени меняются столбцы(добавляются, удаляются). Php-скрипт занимается тем, что делает команды UPDATE
. Так вот, мне по сути нужно так: если столбец и запись есть, то они обновляются, если же их нет, то не происходит ничего.
Собственно вопрос: можно ли обращаться к БД без проверок, чтобы если столбца нет, то происходила бы ошибка и на нее никак не реагировать? Или же нужно делать проверки? Тогда ошибок не будет, но будут затраты по производительности. Как правильнее?
Вопрос довольно странный. Как сказал D-side в нормальной ситуации столбцы редко меняются.
Можно ли обращаться к БД без проверок (иммеются в виду предпроверки)
Да, можно и даже желательно. Проверка того что столбец существует не даёт гарантий что он будет существовать во время запроса на обновление (или что соединение с базой не отвалится сразу после проверки).
Но, проверять произошла ли ошибка в запросе нужно всегда (ответ сервера). Ошибки в запросах могут происходить по множеству разных причин, от ошибки в самом запросе (sql синтаксис, несуществующее поле ...) до отказа диска или нехватки места (см. коды ошибок). Если вы знаете что в данном запросе иногда может происходить ошибка и это нормально, то вы должны проверить что запрос провалился именно из-за запланированной ошибки.
Вообще я думаю нужно отталкиваться не от скрипта а от перечня колонок в таблице. Ну к пример. Анализируем таблицу и уже потом формируем нам нужный скрипт в зависимости от условий.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Ребят как такой же скрипт поместить в тег SELECTЭтот скрипт у меня выводит категории на сайте
При попытке подключиться возникает вот такая ошибка:
При старте ubuntu 14 tomcat стартует автоматом но не видит бд и выводит 500 статус на реквесты, как можно это исправить? При рестарте из IDE все работает...