将数组值存储为整数
试图以整数存储数组值。 这是我的代码。 这是错的吗?
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); })