Задать вопрос

Как вставлять записи из одной таблицы в другую попутно проверяй одной из полей, и при его изменении обновлять другое поле?

Добрый день, подскажите пожалуйста, имеются 2 таблицы (точнее, первая это вьюшка, вторая таблица):

DONOR
id ; full_name ; phone ; hash

RECIPIENT
id ; full_name ; phone ; hash ; date_changed


Во второй таблице id - это первичный ключ, задача такая
чтобы по расписанию мне нужно данные из DONOR вставлять в RECIPIENT
1) при этом если по id полю такое значение уже есть в RECIPIENT, то проверять совпадает ли у них поле hash
* если оно не совпадает, то обновить поля full_name, phone, hash в RECIPIENT значениями из DONOR, А ТАКЖЕ! в поле date_changed обновить значение на текущий UNIX_TIMESTAMP
* если совпадает, то игнорировать
2) если в таблице RECIPIENT нет ещё такого id, то просто вставлять значения из DONOR, и в date_changed вставлять текущую UNIX_TIMESTAMP

Обычную как бы синхронизацию вроде как легко сделать с помощью INSERT ON DUPLICATE KEY UPDATE
но мне получается ещё нужно небольшую логику добавить, которая при вставке новых значений (ещё не существующих) обновляло поле date_changed текущей датой, а также при обновлении существующих записей и различающихся у них полей hash - также обновлять поле date_changed
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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