具有内部连接的mysql触发器

wfypjpf4  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(307)

我有两个表叫做users和jobs。我制作了第三个表,它是用户和作业的内部连接,称为jobsposts。我的问题是,当我将值插入jobs表时,它也会将值插入到newjobsposts表中。这是我的附加sql,但它无法为我工作。

CREATE DEFINER=`root`@`localhost` TRIGGER trg_jobs_after_insert 
 AFTER INSERT ON jobs
 FOR EACH ROW
BEGIN
INSERT INTO jobPost (userID, name, email, phoneNo, location, jobID, 
title, level, dateFrom, dateTo, description) 
SELECT 
     users.name
     , users.email
       , users.phoneNo
         , users.location
     , NEW.jobID
     , NEW.title
     , NEW.level
     , NEW.dateFrom
     , NEW.dateTo
      , NEW.description
  FROM users
  WHERE users.userID= NEW.user.userID;
 END

表格->
作业表:

用户表:

y53ybaqx

y53ybaqx1#

你的条件需要在哪里 email 而不是 userID . 还有,你失踪了 userId 在选择中插入。

DELIMITER //
CREATE DEFINER=`root`@`localhost` TRIGGER trg_jobs_after_insert 
 AFTER INSERT ON jobs
 FOR EACH ROW
BEGIN
  INSERT INTO jobPost (userID, name, email, phoneNo, location, jobID, 
                       title, level, dateFrom, dateTo, description) 
  SELECT 
     users.userID
     , users.name
     , users.email
     , users.phoneNo
     , users.location
     , NEW.jobID
     , NEW.title
     , NEW.level
     , NEW.dateFrom
     , NEW.dateTo
     , NEW.description
  FROM users
  WHERE users.email = NEW.email;
 END //
 DELIMITER ;

相关问题