[英]MYSQL - Inner Join with AFTER UPDATE in table
我的MySQL數據庫中有一個名為jobPosts的表。 我試圖在當前jobPost表中發生更新后將數據插入到另一個表(jobRequest)中。
這是我的SQL表和查詢。
DELIMITER //
CREATE DEFINER=`root`@`localhost` TRIGGER
trg_jobPost_after_update
AFTER UPDATE ON jobPost
FOR EACH ROW
BEGIN
INSERT INTO jobRequest (userID, name, email, phoneNo,
location, 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.jobID
, jobPost.title
, jobPost.level
, jobPost.dateFrom
, jobPost.dateTo
, jobPost.description
, users.nameTeacher
, users.locationTeacher
, users.phoneNoTeacher
, users.cv
, users.gardavetting
, users.linkedin
, NEW.jobStatus
, NEW.emailTeacher
FROM jobPost
WHERE jobPosts.emailTeacher = NEW.emailTeacher;
END //
DELIMITER ;
桌子-
jobPost表
用戶表
從評論,似乎你只需要一個Inner Join
之間jobPost
和users
表,上emailTeacher
。
另外,與Insert
子句相比, Select
中的某些列丟失了; 我已經按正確的順序添加了它們。
DELIMITER //
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, 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.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 //
DELIMITER ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.