将数组值存储为整数

试图以整数存储数组值。 这是我的代码。 这是错的吗?

db.query('INSERT INTO users(name,student_id) VALUES($1,ARRAY["$2","$3"]::INTEGER[]) RETURNING *', [data.name, data.id]) .then(function(user) { }) .catch(function(err) { return callback(null, err); }) 

但我得到这个错误

 { "name": "error", "length": 102, "severity": "ERROR", "code": "42703", "position": "70", "file": "parse_relation.c", "line": "3090", "routine": "errorMissingColumn" } 

42703表示undefined_column – 发生这种情况,因为在"$2","$3""$2","$3"使用双引号,双引号标识db对象(在查询的这一部分 – 列)。 删除它们是:

 db.query('INSERT INTO users(name,student_id) VALUES($1,ARRAY[$2,$3]::INTEGER[]) RETURNING *', [data.name, data.id]) .then(function(user) { }) .catch(function(err) { return callback(null, err); })