首页 > 解决方案 > 如何在 Nodejs 和 PostgreSql 上查询多个表?

问题描述

我在这里有点迷路了。我目前有 2 个名为 todo 和 sales 的表。我想同时向它们中插入数据,但似乎发生了“无法将多个命令插入准备好的语句”错误。我还有其他方法可以做到这一点吗?

app.post("/mytodo", async (req, res) => {
    try {
      const { user_name, user_email, user_address, total_sale_value, repeat_visit_sales_value } = req.body;
      const newTodo = await pool.query(
      "INSERT INTO todo (user_name, user_email, user_address) VALUES ($1, $2, $3) RETURNING *; INSERT INTO sales (total_sale_value, repeat_visit_sales_value) VALUES ($4, $5, $6) RETURNING *;",  [
        user_name, user_email, user_address, total_sale_value, repeat_visit_sales_value 
      ] );
       res.json(newTodo.rows[0]);
    } catch (err) {
      console.error(err.message);
    }
  });

标签: node.jspostgresql

解决方案


尝试使用事务。

BEGIN; first_query; second_query; third_query; COMMIT;

这是PostgreSQL文档的链接

这是版本的链接node-postgres


推荐阅读