Postgres 9.2 版
如何将数据插入表(表具有单列“名称”)非重复值,只需一个查询。重复插入时没有 Postgres 错误。
例如表有两行值:
AAA, BBB
我有数据字符串逗号分隔值:
'AAA,BBB,CCC'
我想创建 INSERT 查询,之后表中的执行数据将是树行:
AAA, BBB, CCC
Postgres 9.5 有很好的 INSERT 参数“ON CONFLICT DO NOTHING”,但我的 postgres 版本不支持它。
使用单个查询找到解决方案:
INSERT INTO table (name)
SELECT * FROM unnest(string_to_array('AAA,BBB,CCC', ',')) col
WHERE col NOT IN (SELECT name FROM table);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句