postgresql 关系“restaurants”中列“name”中的null值违反了非null条件

h79rfbju  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(189)

我看到有一堆相同的错误,PostgreSQL造成的,但这一次我得到这个错误,当我试图执行一个POST行动与express.js.即使我没有离开“名称”字段“空”我仍然不知何故有以下错误;空值列“名称”有关“餐馆”违反了非空条件

// create a restaurant
app.post("/api/v1/restaurants", async (req, res) => {

  console.log("req.body: ",req.body);

  try {
    const results = await db.query(
      "INSERT INTO restaurants (name, location, price_range) values ($1, $2, $3) returning *",
      [req.params.name, req.params.location, req.params.price_range]
    );

    console.log("results: ",results);

    res.status(201).json({
      status: "success",
      data: {
        restaurant: "mcdonalds",
      },
    });
  } catch (error) {
    console.log(error.message);
  }
});

字符串
我把这个值填入我的 Postman ;

{
    "name":"Big Chefs",
    "location":"Istanbul",
    "price_range":5
}

bqucvtff

bqucvtff1#

错误是我试图将我的输入输入到错误的请求部分。正确的方法是这样的;

const results = await db.query(
          "INSERT INTO restaurants (name, location, price_range) values ($1, $2, $3) returning *",
          [req.body.name, req.body.location, req.body.price_range]
        );

字符串
尽管我觉得这样的错误很愚蠢,但我把问题留在这里,这样任何需要的人都可以轻松解决这个问题

相关问题