通过Python,我从JSON请求中提取数据并插入数据库,但我想确保这些记录在插入之前尚不存在。
我之前曾经问过类似的问题,但我的情况有所不同,因为我的第二张桌子并没有查询。那么我该如何处理呢?
我尝试了什么,并且我得到了错误的语法错误,是
INSERT INTO table (col1, col2, col3)
VALUES (val1, val2, val3)
WHERE NOT EXISTS (select col1 FROM table WHERE col1 != val1)
有人能给我一个更好的方法来解决这个问题吗?谢谢。
答案 0 :(得分:2)
IF NOT EXISTS(SELECT ...)
INSERT ... VALUES ...
答案 1 :(得分:0)
您也可以这样做:
INSERT INTO table (col1, col2, col3)
SELECT val1, val2, val3
WHERE NOT EXISTS (SELECT 0 FROM table WHERE col1 = val1)
请注意SELECT 不如何从表格中进行选择。如果条件成立,它只返回一行(val1,val2,val3),如果不成立则返回零行。
顺便说一句,你可以更简洁地写出......INSERT INTO table (col1, col2, col3)
SELECT val1, val2, val3
WHERE val1 NOT IN (SELECT col1 FROM table)
...但请注意,在存在NULL的情况下,这是not the exact equivalent。