Обновить только первое вхождение

deales

Пользователь
Регистрация
11.04.13
Сообщения
1
Реакции
0
Баллы
1
"UPDATE $users SET информационная рассылка ='1' WHERE email = '".$data['email']."'";

Это устанавливает для информационного бюллетеня значение 1 каждый раз, когда добавляется электронное письмо. Я хочу, чтобы для него было установлено значение 1 только при первом появлении адреса электронной почты, а затем его следует игнорировать. Как бы я это сделал?

Просто чтобы было понятно:

Сейчас:

электронная почта..................................Новостная рассылка
----------------------------------------
............... 1
............... 1
............... 1
............... 1
............... 1
............... 1

Я хочу:
Обновить только первое вхождение
электронная почта..................................Новостная рассылка
----------------------------------------
............... 1
...............
...............
...............
1
...............
...............


Спасибо!
 

steam0231

Пользователь
Регистрация
17.07.13
Сообщения
1
Реакции
0
Баллы
1
Это правда. Однако я все еще думаю, что вам нужно переосмыслить настройку БД. Опять же, нет необходимости каждый раз записывать фактическое электронное письмо. Возможно, отслеживайте счетчик или, если вам нужны даты для каждого раза, создайте отдельную таблицу с идентификатором пользователя, логином, записанной датой или чем-то еще (user_id затем будет ссылаться на электронное письмо). Дело в том, что в базе данных электронное письмо должно быть почти таким же уникальным, как user_id.
 

rapidbull

Пользователь
Регистрация
10.12.14
Сообщения
1
Реакции
0
Баллы
1
Ааа, тогда вы можете скопировать то, что я делаю в моей большой системе — поскольку электронные письма должны быть персонализированы, их нужно обрабатывать индивидуально и, следовательно, отправлять пакетами, чтобы избежать тайм-аута.
  1. Я запрашиваю в базе данных ВСЕХ, кто должен получить электронное письмо, и создаю запись в моей таблице «звонков» — здесь будет использоваться отдельное
  2. Затем я запрашиваю вызовы для x-записей и обрабатываю их - по мере их обработки их статус устанавливается на "отправлено".
Преимущества: я могу контролировать процесс отправки, впоследствии видеть, кому было отправлено электронное письмо, а когда люди жалуются, что они его не получили, я могу доказать, что они были отправлены, и отследить проблемы. Я использую Mandrill для фактической отправки, поэтому я забрасываю их сервер тысячами электронных писем, и они берут на себя ответственность за выпуск электронных писем, а также отслеживают отказы и скорость открытия. Если я настрою все еще умнее, я смогу запросить Mandrill и импортировать эти данные, но это работа другого месяца.

calls имеет user_id и email_id, поэтому я знаю, какому пользователю какое письмо было отправлено.
 
Сверху Снизу