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

使用Vercel SQL工具向PostgreSQL插入数组遇类型错误求助

解决Vercel PostgreSQL插入数组的类型错误

问题原因

直接将JavaScript数组传入Vercel的sql模板字符串时,类型检查会报错——模板期望接收**原始类型(Primitive)**而非数组;同时PostgreSQL无法直接识别未做处理的JS数组。另外USER是PostgreSQL的保留关键字,直接使用会引发语法问题。

修复代码

使用@vercel/postgres提供的sql.array()方法包装数组,同时给表名加上双引号避免关键字冲突:

import { sql } from '@vercel/postgres';
const aliases = ['uncle', 'joe'];
await sql`INSERT INTO "USER" (aliases) VALUES (${sql.array(aliases)})`;

说明

  • sql.array()会将JavaScript数组转换为PostgreSQL兼容的数组格式,同时满足模板的类型要求
  • 用双引号包裹"USER"是因为它是PostgreSQL的保留关键字,直接使用会触发语法错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 17:20:56