Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Примитивное действие в базе. Кто как делает?

2.0K
09 марта 2005 года
Prokur
85 / / 13.10.2004
Я начинающий программист и хотел поинтересоваться у более опытных, как они делают один простой запрос в MySQL (к примеру из под PHP)

Надо занести в таблицу новое поле, например новую книжку в библиотеку. Но надо проверить нет ли уже такой книги, и если есть, то проигнорировать действие.

Я делаю так:
Проверяю наличие такой книги SELECT`ом
SELECT `book_id` FROM `lib` where `book_id` = '131285'
потом средствами PHP обрабатываю полученные данные. Если ответ 0, то значит книги нет и я вставляю новую. Если кол-во полученных записей 1, то книга уже есть.

Всё логично, работает. Но может есть метод лучше и быстрее? например встроенным IF`ом в MySQL? Если с IF, то как лучше сделать?
259
09 марта 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Prokur
Я начинающий программист и хотел поинтересоваться у более опытных, как они делают один простой запрос в MySQL (к примеру из под PHP)

Надо занести в таблицу новое поле, например новую книжку в библиотеку. Но надо проверить нет ли уже такой книги, и если есть, то проигнорировать действие.

Я делаю так:
Проверяю наличие такой книги SELECT`ом
SELECT `book_id` FROM `lib` where `book_id` = '131285'
потом средствами PHP обрабатываю полученные данные. Если ответ 0, то значит книги нет и я вставляю новую. Если кол-во полученных записей 1, то книга уже есть.

Всё логично, работает. Но может есть метод лучше и быстрее? например встроенным IF`ом в MySQL? Если с IF, то как лучше сделать?


update ... where book_id <> 131285

2.0K
09 марта 2005 года
Prokur
85 / / 13.10.2004
Цитата:
Originally posted by AlexandrVSmirno

update ... where book_id <> 131285



Не понял, ведь это обновит все книги, а это не то, что мне надо :)

259
09 марта 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Prokur


Не понял, ведь это обновит все книги, а это не то, что мне надо :)


Извеняюсь описался не update а insert + триггер oninsert.

ЗЫ: Или описать это поле как unique, тогда буде возникать ошибка при попытке занести запись с этим же id

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог