簡體   English   中英

錯誤:“年齡”列不存在[node + pg + postgres]

[英]error: column “age” does not exist [node + pg + postgres]

嗨,我正在嘗試使用node.js中的pg對我的數據庫進行INSERT操作,但是我遇到了一個錯誤:“年齡”列不存在。

這是我的代碼:

    app.post('/saving', function(req, res){
  var age = req.param('Age');
  var gender = req.param('gender');
  //res.send(age + gender)
  pool.connect(function(err, client, done){
    if(err) {
      return res.send('error')
    }
    client.query('INSERT INTO  public.attack (age, gender) VALUES (age , gender)')

    done()
  })
})

這是我的數據庫:

    test=# \d attack;
                              Table "public.attack"
 Column |       Type        |                      Modifiers                      
--------+-------------------+-----------------------------------------------------
 age    | integer           | 
 gender | character varying | 
 id     | integer           | not null default nextval('attack_id_seq'::regclass)
Indexes:
    "attack_pkey" PRIMARY KEY, btree (id)

age postgres而言,不會定義VALUES (age, gender) agegender VALUES (age, gender) 在這種情況下,您將需要使用准備好的語句 (或更具體地說,是參數化查詢)來將變量與查詢一起傳遞。

我相信這可能類似於您想要的代碼:

let sql = 'INSERT INTO public.attack (age, gender) VALUES ($1, $2)';
let params = [ age, gender ];
client.query(sql, params, function(err) {
  // make sure you handle errors from here as well,
  // including signaling `res` and `done`
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM