小编ari*_*ght的帖子

如果不存在则插入,否则在postgresql中返回id

我在PostgreSQL中有一个简单的表,它有三列:

  • id串行主键
  • key varchar
  • value varchar

我已经在SO上看到了这个问题:插入,在PostgreSQL中重复更新?但我想知道如果它存在,如何获取id,而不是更新.如果标准做法是始终"插入"或"如果存在则更新",为什么会这样?SELECT(LIMIT 1)的成本是否高于UPDATE?

我有以下代码

INSERT INTO tag
    ("key", "value")
    SELECT 'key1', 'value1'
WHERE
    NOT EXISTS (
        SELECT id,"key","value" FROM tag WHERE key = 'key1' AND value = 'value1'
    );
Run Code Online (Sandbox Code Playgroud)

它的工作原理是它不存在,如果存在,但我想获得id.是否有"RETURNING id"条款或类似的东西,我可以在那里点击?

postgresql

49
推荐指数
2
解决办法
4万
查看次数

SharePoint的源代码管理?

您是否尝试将SharePoint与版本控制(例如Perforce(或Subversion))一起使用,您是如何做到的?

svn version-control sharepoint perforce

3
推荐指数
1
解决办法
1846
查看次数

标签 统计

perforce ×1

postgresql ×1

sharepoint ×1

svn ×1

version-control ×1