2017-01-24 36 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 
) 
相關問題