我有一个表tblApply,它有主键(email_id,Job_id),它们是tblEmail(email)和tblJob(Job_id)的外键。我想在tblApply中插入新值,但要避免在email_id,Job_id的组合中已存在的值。以下是我的代码。我该怎么办我在存储过程中执行此操作。
}).done(function(data){
data = JSON.parse(data);
console(data['post']);
});
答案 0 :(得分:1)
根据我的理解,您希望设计一个用于插入行的存储过程,以避免插入重复的唯一键值。
如果是这种情况你可以这样做:
insert into tblApply(email_Id, Job_Id, Apply_Date)
select @emailId, tblJobsJob_Id, GetDate() from tblJobs
where Job_Active = 1 AND
NOT EXISTS(SELECT 1 FROM tblApply
WHERE email_Id = @emailId AND Job_Id = tblJobsJob_Id)
答案 1 :(得分:0)
要插入不存在的记录,您可以LEFT JOIN
使用NULL
检查进行条件检查。
INSERT INTO tblApply (email_Id, Job_Id, Apply_Date)
SELECT @emailId, tblJobsJob_Id, GetDate()
FROM tblJobs TJ
LEFT JOIN tblApply TA ON TA.email_id = @emailId AND TA.Job_id = TJ.tblJobsJob_Id
WHERE TY.Job_Active = 1 AND TA.Job_id IS NULL