Как избежать повторяющихся строк после вставки в новую таблицу? - SQL - PullRequest
0 голосов
/ 21 ноября 2018

В моей таблице jobPost есть триггер, который срабатывает после обновления столбца jobStatus & emailTeacher.Триггер вставляет все строки, соответствующие emailTeacher, и вставляет их в новую таблицу с именем jobRequests.

Моя проблема в том, что при обновлении строки все строки с тем же самым emailTeacher вставляются в новую таблицу.Я хотел бы только ВСТАВИТЬ затронутую строку, которая была обновлена.Я приложил sql ниже.Спасибо.Любая помощь приветствуется.

  CREATE DEFINER=`root`@`localhost` TRIGGER 
trg_jobPost_after_update
AFTER UPDATE ON jobPost
   FOR EACH ROW
   BEGIN

   -- Check if jobStatus is Updated (then only we Insert) 
   IF ( OLD.jobStatus <> NEW.jobStatus AND OLD.emailTeacher <> NEW.emailTeacher) THEN 
     INSERT INTO jobRequest (userID, name, email, phoneNo, 
                             location, lat, lng, jobID, title, level, 
                             dateFrom, dateTo, description, 
                             jobStatus, emailTeacher, nameTeacher, 
                             locationTeacher, phoneNoTeacher, cv, 
                             gardavetting, linkedin) 
     SELECT 
       jobPost.userID
    ,  jobPost.name
    ,  jobPost.email
    ,  jobPost.phoneNo
    ,  jobPost.location
    ,  jobPost.lat
    ,  jobPost.lng
    ,  jobPost.jobID
    ,  jobPost.title
    ,  jobPost.level
    ,  jobPost.dateFrom
    ,  jobPost.dateTo
    ,  jobPost.description
    ,  NEW.jobStatus 
    ,  NEW.emailTeacher 
    ,  users.nameTeacher 
    , users.locationTeacher
    , users.phoneNoTeacher
    , users.cv
    , users.gardavetting
    , users.linkedin
    FROM jobPost 
    JOIN users ON users.emailTeacher = jobPost.emailTeacher 
    WHERE jobPost.emailTeacher = NEW.emailTeacher;

  END IF;

END

Duplicate of entry

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...