You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js pg包执行UPDATE语句提示w_id列不存在但实际存在

问题:Node.js pg包执行UPDATE语句提示“w_id列不存在”,但该列实际存在

现象

  • 在pgAdmin或命令行执行以下UPDATE语句可正常运行:
UPDATE wq SET l_id = NULL, v_id = NULL WHERE w_id = 'cf93bc71-88c1-4bba-9e5c-fdc58d0ed14e';
  • 但使用Node.js的pg包执行带参数的同逻辑语句时,出现错误:
const w_id_val = 'cf93bc71-88c1-4bba-9e5c-fdc58d0ed14e';
/*
(client通过const pool = pg.Pool({...}) 后调用await pool.connect()获取)
*/
const result = await client.query(
  `UPDATE wq
   SET l_id = null,
       v_id = null
   WHERE w_id = $1`,
  [w_id_val]
);

错误详情:

{
   "message":"column \"w_id\" does not exist",
   "stack":"error: column \"w_id\" does not exist\n    at Connection.parseE (/Users/lukasjenks/Documents/Work/socrative-nodejs/node_modules/pg/lib/connection.js:569:11)\n    at Connection.parseMessage (/Users/lukasjenks/Documents/Work/socrative-nodejs/node_modules/pg/lib/connection.js:396:17)\n    at Socket.<anonymous> (/Users/lukasjenks/Documents/Work/socrative-nodejs/node_modules/pg/lib/connection.js:132:22)\n    at Socket.emit (events.js:314:20)\n    at Socket.EventEmitter.emit (domain.js:483:12)\n    at addChunk (_stream_readable.js:297:12)\n    at readableAddChunk (_stream_readable.js:272:9)\n    at Socket.Readable.push (_stream_readable.js:213:10)\n    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)\n    at TCP.callbackTrampoline (internal/async_hooks.js:126:14)",
   "name":"error",
   "length":112,
   "severity":"ERROR",
   "code":"42703",
   "position":"68",
   "file":"parse_relation.c",
   "line":"3514",
   "routine":"errMissingColumn"
}

已完成的排查

  • 通过查询确认w_id列确实存在:
SELECT table_schema, table_name, column_name, data_type
  FROM information_schema.columns
 WHERE table_name = 'wq';

查询结果:

public  wq  id  uuid
public  wq  w_id    uuid
public  wq  l_id    uuid
public  wq  v_id    uuid
  • 使用pg包执行SELECT语句时,返回结果的fields属性中包含w_id列的完整信息:
fields: [
    Field {
      name: 'id',
      tableID: 26611,
      columnID: 1,
      dataTypeID: 2950,
      dataTypeSize: 16,
      dataTypeModifier: -1,
      format: 'text'
    },
    Field {
      name: 'w_id',
      tableID: 26611,
      columnID: 3,
      dataTypeID: 2950,
      dataTypeSize: 16,
      dataTypeModifier: -1,
      format: 'text'
    },
    ...
  • 已排除大小写问题(列名为全小写),尝试给列名加双引号也无法解决问题。

内容的提问来源于stack exchange,提问作者TheDarkHoarse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 17:24:17