Big Query - 仅在列值不存在时插入

Sup*_*Way 4 sql google-app-engine google-bigquery

Big Query 是否支持“REPLACE INSERT”或与之相关的操作?

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

INSERT INTO table(column1) VALUES(1)
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

小智 6

这对你有用吗?

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
)
Run Code Online (Sandbox Code Playgroud)


Mik*_*ant 6

下面应该可以

#standardSQL
INSERT INTO yourTable(column1)
SELECT value FROM (SELECT 1 AS value) 
LEFT JOIN yourTable  
ON column1 = value
WHERE column1 IS NULL
Run Code Online (Sandbox Code Playgroud)