1

我需要调整此语句以根据 2 个参数在行存在时返回 id,如果不存在则插入行:

WITH d(t, e) AS ( VALUES (1, current_timestamp)),
  t AS (SELECT id FROM attendance, d WHERE start = e and user_id = t),
  i AS (INSERT INTO attendance (user_id, start) 
           SELECT t, e FROM d WHERE t NOT IN (SELECT id FROM t))
SELECT t,e FROM d WHERE t IN (SELECT id FROM t);

1并且current_timestamp需要参数化。我将从 nodejs 使用它。我刚刚使用了 pgsql 函数,因为当我补充时间戳时,就像'2016-08-18T14:51:42.333Z'它说我需要转换它一样。

当前状态是使用current_timestamp函数,它将插入新行但不返回它的 id。

这是我在这个线程的帮助下构建的。

感谢您的解决方案。

4

0 回答 0