在postgres中不存在

问题描述

我正在使用postgres db,我试图在SQL下面执行以插入不存在的表中

我想先将数据插入表中,然后再检查是否存在,否则不要插入。

我希望简化查询,因为我将在带有pycopg2库的python代码中使用它

INSERT INTO T1 (a1,a2,a3,a4)
VALUES (123,'20e16411-b8f7',4,(SELECT u1 from T2 where u2 = '[email protected]'))
WHERE NOT EXISTS (SELECT a3 
                  FROM TI 
                  WHERE a1 =123 
                    AND a2 = '20e16411-b8f7' 
                    AND a3 = 4 
                    AND a4 = (SELECT u1 from T2 where u2 = '[email protected]'))

SQL Error [42601]: ERROR: syntax error at or near "WHERE" Position: 236

我在哪里语法上遇到了问题,但是,如果不能很好地纠正我的查询,我不确定这是否是实现我的逻辑的正确查询

If not exist (select * from t1 where <check>)
Begin
Insert
End

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)