大查询 - 仅在列值不存在时插入
Posted
技术标签:
【中文标题】大查询 - 仅在列值不存在时插入【英文标题】:Big Query - Only insert if column value does not exist 【发布时间】:2017-01-24 21:29:53 【问题描述】:Big Query 是否支持“REPLACE INSERT”之类的操作或与之相关的操作?
如果我两次运行这样的查询:
INSERT INTO table(column1) VALUES(1)
它会创建一个重复的行,是否只有在不存在具有相同值的列时才可以插入一行?
谢谢!
【问题讨论】:
【参考方案1】:下面应该可以了
#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
)
【讨论】:
以上是关于大查询 - 仅在列值不存在时插入的主要内容,如果未能解决你的问题,请参考以下文章