首页 > 解决方案 > 检查 Postgres DB 中是否存在数据

问题描述

我有一个网络应用程序,可以在提交时将数据发送到 postgres 数据库,我对 express 和 Postgres 仍然是新手,所以可能有更好的方法来做我想做的事情。我想为此添加另一层并进行某种验证,如果数据(电子邮件或 ip)已经存在于表中,则用户将被启动并且不允许继续。我尝试使用 NOT EXIST,但不断收到语法错误或“没有与 ON CONFLICT 规范匹配的唯一或排除约束”。我可以做些什么来检查数据库?

DbConnectionManager.pool.query(`INSERT INTO ${Table.Test} (${Table.Email}, ${Table.IP}) VALUES ($1,$2), NOT EXISTS(SELECT * ${Table.Test} WHERE ${Table.Email} = ${Table.Email})`,
    [email, ip],
    (error, results) => {
      if (error) {
        throw error;
      }
    });

这是将输入数据发送到数据库的函数,如果我删除 NOT EXISTS,该函数将起作用。

标签: postgresqlexpresspostgresql-9.5

解决方案


推荐阅读