在不存在同一列数据的所有行中插入所有行

时间:2018-09-29 14:32:41

标签: mysql sql

我有一个用于列的表:

id,
pregnew,
entryDate,
unionID

该表将填充以下数据: Screenshot

我想插入带有选择子查询的另一个表。在插入行之前,如果当前月份的值已经存在,我想验证unionID列。如果存在,则查询应忽略插入该行,而移至插入下一行。

这是我尝试过的查询:

insert into pg2(pregNew, unionID, entryDate) select pregNew, unionID, entryDate from fpipg2
where  month(pg3.entryDate)=month(current_date) and not exists (select unionID from mis4pg2 where month(pg2.entryDate)=month(current_date)) 

我希望通过此查询可以忽略entryDate值2018-08-19和unionID值2。但是它在第一次插入后就停止了。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

我怀疑您只想插入当前月份中不存在的行。强烈建议您验证年份和月份。

这建议一个DialogFragments查询,例如:

exists