Примитивное действие в базе. Кто как делает?
Надо занести в таблицу новое поле, например новую книжку в библиотеку. Но надо проверить нет ли уже такой книги, и если есть, то проигнорировать действие.
Я делаю так:
Проверяю наличие такой книги SELECT`ом
SELECT `book_id` FROM `lib` where `book_id` = '131285'
потом средствами PHP обрабатываю полученные данные. Если ответ 0, то значит книги нет и я вставляю новую. Если кол-во полученных записей 1, то книга уже есть.
Всё логично, работает. Но может есть метод лучше и быстрее? например встроенным IF`ом в MySQL? Если с IF, то как лучше сделать?
Цитата:
Originally posted by Prokur
Я начинающий программист и хотел поинтересоваться у более опытных, как они делают один простой запрос в MySQL (к примеру из под PHP)
Надо занести в таблицу новое поле, например новую книжку в библиотеку. Но надо проверить нет ли уже такой книги, и если есть, то проигнорировать действие.
Я делаю так:
Проверяю наличие такой книги SELECT`ом
SELECT `book_id` FROM `lib` where `book_id` = '131285'
потом средствами PHP обрабатываю полученные данные. Если ответ 0, то значит книги нет и я вставляю новую. Если кол-во полученных записей 1, то книга уже есть.
Всё логично, работает. Но может есть метод лучше и быстрее? например встроенным IF`ом в MySQL? Если с IF, то как лучше сделать?
Я начинающий программист и хотел поинтересоваться у более опытных, как они делают один простой запрос в MySQL (к примеру из под PHP)
Надо занести в таблицу новое поле, например новую книжку в библиотеку. Но надо проверить нет ли уже такой книги, и если есть, то проигнорировать действие.
Я делаю так:
Проверяю наличие такой книги SELECT`ом
SELECT `book_id` FROM `lib` where `book_id` = '131285'
потом средствами PHP обрабатываю полученные данные. Если ответ 0, то значит книги нет и я вставляю новую. Если кол-во полученных записей 1, то книга уже есть.
Всё логично, работает. Но может есть метод лучше и быстрее? например встроенным IF`ом в MySQL? Если с IF, то как лучше сделать?
update ... where book_id <> 131285
Цитата:
Originally posted by AlexandrVSmirno
update ... where book_id <> 131285
update ... where book_id <> 131285
Не понял, ведь это обновит все книги, а это не то, что мне надо :)
Цитата:
Originally posted by Prokur
Не понял, ведь это обновит все книги, а это не то, что мне надо :)
Не понял, ведь это обновит все книги, а это не то, что мне надо :)
Извеняюсь описался не update а insert + триггер oninsert.
ЗЫ: Или описать это поле как unique, тогда буде возникать ошибка при попытке занести запись с этим же id