Вставляйте новую строку только в том случае, если строка с таким же подмножеством значений еще не существует.MySql

Форум по Mysql
Anonymous
Вставляйте новую строку только в том случае, если строка с таким же подмножеством значений еще не существует.

Сообщение Anonymous »

Представьте, что у меня есть таблица под названием «Настройки», отслеживающая предпочтения пользователей в отношении электронной почты. Он имеет следующие столбцы: Теперь по умолчанию я считаю все типы электронной почты включенными, однако по разным причинам я не могу создать строку в таблице настроек для каждого пользователя сразу после регистрации, а только после того, как он изменит свои предпочтения.
Поэтому, когда пользователь отключает маркетинговые электронные письма, я хочу:
  • Вставьте новую строку, например: INSERT INTO settings (user_id, Marketing_emails, Security_emails, Handwriting_emails) VALUES (?,0,1,1,);
    ИЛИ
  • Обновите существующую строку для пользователя, например: UPDATE settings SET Marketing_emails = 0 WHERE user_id = ?;
Есть ли способ объединить оба случая в одном запросе в MySQL, или мне нужно сначала выполнить отдельную проверку, существует ли строка для данного user_id, а затем выполнить один из двух запросов?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -exist-yet

Вернуться в «MySql»