Вставляйте новую строку только в том случае, если строка с таким же подмножеством значений еще не существует.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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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