我需要调整此语句以根据 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。
这是我在这个线程的帮助下构建的。
感谢您的解决方案。