当前位置: 首页 > 知识库问答 >
问题:

Postgres`on conflict`更新变量而不是表,语法错误在“

穆正青
2023-03-14

我创建了一个插入一系列唯一代码的postgres查询。如果一个代码是重复的,我运行以下代码。

在约束uniquecode上发生冲突时不做任何操作;

ON CONFLICT ON CONSTRAINT uniquecode DO UPDATE SET "created_at" = NOW();

    PERFORM * FROM (
      SELECT c."created_at"
      FROM "codes" as c
      ORDER BY "created_at" DESC
      LIMIT 1
    ) AS "newest";
    IF ("newest"::xmax::text::int > 0) THEN
      "counter" = "counter" - 1;
    END IF;

共有1个答案

松骏俊
2023-03-14

您可以使用:

ON CONFLICT ON CONSTRAINT uniquecode
DO UPDATE SET count = youtable.column - 1
 类似资料:
  • 问题内容: Heroku上的Postgres 9.3.2。 可以肯定的是我只是个白痴,但是我似乎无法弄清楚为什么我的语法错误。 问题答案: 是Postgres中的保留关键字。如果要引用名为 user 的 实际 表,则必须将其用引号引起来: __ 如果可以的话,最好不要使用保留关键字作为表名。通常最终会在以后产生一些奇怪的问题。 可能是一个更好的表名。

  • 我有一个问题,我试图用我的PHP脚本更新一个mysql数据库,但我变成了消息: 我希望你能帮助我,这是我更新数据库的代码(我只是编辑用户通行证;)) //编辑// 变量$t1-$t12已填充且正确。

  • 我想更新我的变量,我的代码有一个错误,我不知道在哪里我有错误

  • 我使用mariadb和heidisql来执行sql: DECLARE@Account tID INT; 将值('testfirstname','a','testlastname','user@email.com“,1,1,NOW()); set@Account tID=Last_Insert_Id(); 我一直收到一个错误: QL Error(1064):您的SQL语法有错误;查看与您的Maria

  • 问题内容: jQuery的 我正在发出一个AJAX请求,该请求会使用服务器的响应来更新变量()的值。这是我正在使用的代码: 问题是的值仍然是一个空字符串。我知道这不是服务器端脚本的问题,因为我会收到错误警报,或者至少得到string 。 这是一个演示问题的JSFiddle:http : //jsfiddle.net/GGDX7/ 为什么不变的价值? 纯JS 我正在发出一个AJAX请求,该请求会使用

  • 我想更新我的变量,但我的代码有一个错误,我不知道哪里有错误