2017-01-24 37 views
2

大查询是否支持像“REPLACE INSERT”之类的操作或与之相关的操作?大查询 - 仅当列值不存在时才插入

如果我运行这样的查询两次:

INSERT INTO table(column1) VALUES(1) 

它会创建一个重复的行,是它可以插入只有当具有相同值的列不存在的行?

谢谢!

回答

3

下面应该让

#standardSQL 
INSERT INTO yourTable(column1) 
SELECT value FROM (SELECT 1 AS value) 
LEFT JOIN yourTable 
ON column1 = value 
WHERE column1 IS NULL 
2

这是否适合您?

INSERT INTO table(column1) 
WITH s AS (SELECT 1 src) 
SELECT src FROM s WHERE NOT EXISTS (
    SELECT * FROM table t WHERE t.column1 = s.src 
) 
相关问题