Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Обновление поля Mysql если оно существует, или добавление нового при его отсутвии

Обновление поля Mysql если оно существует, или добавление нового при его отсутвии


     01.10.2014    Все вопросы » Общие вопросы по PHP    2437

вопрос
Доброго времени суток, подскажите пожалуйста, как приписать mysql запрос так, чтобы оно работало так:

Если поле существует, тогда обновляем его.
Если поля не существует, тогда добавляем его.

Я понимаю, что это можно реализовать через if else, но если я не ошибаюсь в php есть запрос, который решает эту проблему.

Наткнулся на ON DUPLICATE KEY UPDATE:

$db->query( "INSERT INTO " . PREFIX . "_rating (id, username, rating) VALUES ('', '{$member_id['name']}', 10) ON DUPLICATE KEY UPDATE rating = rating + 10");

Но почему-то данный запрос у меня не срабатывает.

Заранее благодарен за ответ.

Ответа пока нет


1 комментарий

vitnet
PHP-developer

vitnet - 1 октября 2014 21:37 -

Может вы хотели сказать:
Если поле заполнено, тогда обновляем его.
Если поля пустое, тогда добавляем в него инфу.

$row = $db->super_query( "SELECT fruit FROM " . PREFIX . "_table WHERE news_id='1' AND user_id='{$member_id['user_id']}'" );

if( !empty($row['fruit']) ) $db->query( "UPDATE " . PREFIX . "_table SET fruit='apple' WHERE news_id='1' AND user_id='{$member_id['user_id']}'" );
else $db->query( "INSERT INTO " . PREFIX . "_table (user_id, news_id, fruit) VALUES ('{$member_id['user_id']}', '1', 'apple')" );

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх