我需要调整此语句以在行存在时返回id,如果不存在则根据2个参数插入行:
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。
这是我在this线程的帮助下构建的。
感谢您的解决方案。