Javascript postgreSQL错误:";“约束不存在”;(但它确实存在…)

Javascript postgreSQL错误:";“约束不存在”;(但它确实存在…),javascript,postgresql,node-postgres,Javascript,Postgresql,Node Postgres,我有一个数据库,我正试图更新,我不明白为什么我会得到这个奇怪的错误,关于一个不存在的列。当我使用“heroku pg:psql”访问数据库时,我完全可以看到该列。我找到了另一个类似的问题,但一直无法解决 这是我执行插入的代码…与约束冲突…有什么想法吗 const text = 'INSERT INTO "test2" ' +'(route_id, secupdated, retrievedate, traintimeday) ' +'VALUES($1, $2, $3, $4) ' +'ON C

我有一个数据库,我正试图更新,我不明白为什么我会得到这个奇怪的错误,关于一个不存在的列。当我使用“heroku pg:psql”访问数据库时,我完全可以看到该列。我找到了另一个类似的问题,但一直无法解决

这是我执行插入的代码…与约束冲突…有什么想法吗

const text = 'INSERT INTO "test2" '
+'(route_id, secupdated, retrievedate, traintimeday) '
+'VALUES($1, $2, $3, $4) '
+'ON CONFLICT ON CONSTRAINT traintimeday '
+'DO UPDATE SET (secupdated, secarrival) = (excluded.secupdated, excluded.secarrival) '
+'RETURNING *' ; 
const values = [train_id 
, Math.round(dateNow.getTime()/1000)
, Math.round(dateNow.getDate())
, Math.round(dateNow.getDate()) + stu.stop_id
]; 
pool.query(text, values, (err, res) => {
if (err) {
throw err;
}
console.log('user:', res.rows[0])
})

如果
traintimeday
不是约束,则错误消息表示“约束traintimeday不存在”

+'ON CONFLICT ON CONSTRAINT traintimeday '
使用:


嗯,然后我得到一个错误,“没有唯一或排除约束匹配冲突规范”@garson我不知道您的数据模型,但是假设
route\u id
是主键,您可能想在冲突(route\u id)上使用
。本文解释了如何使用ON CONFLICT:这很有帮助-谢谢!我需要将约束定义为唯一标识符。
+'ON CONFLICT (traintimeday) '