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

使用Supabase向PostgreSQL的Requests表插入数据时提示列不存在

问题原因及解决方案

核心问题

PostgreSQL 对标识符(表名、列名)的大小写规则是:未用双引号包裹的标识符会被自动转换为全小写。你的表创建语句中Description没有加双引号,因此数据库中实际的列名是description(全小写),但插入代码里用的是首字母大写的Description,导致数据库找不到对应列,抛出42703错误。

解决方法

方法1:修改插入代码的键名(推荐)

将代码中的Description改为全小写的description,与数据库实际列名匹配:

const { data, error } = await client
    .from('Requests')
    .insert( [
        { Name: 'Xyz', Email: 'Xyz@gmail.com', Type: 'ABC', description: 'test test 123' },
    ])

console.log(data, error)

方法2:修改表结构(不推荐)

如果坚持要使用首字母大写的列名,需要重新创建表时用双引号包裹列名(后续所有操作该列都必须带双引号,容易出错):

CREATE TABLE Requests (
    Rid         bigint,
    Name        varchar,
    Email       varchar,
    Type        varchar,
    "Description" varchar
)

验证方式

可以登录Supabase控制台,进入表编辑器查看Requests表的列名实际大小写,确认是否与代码中的键名一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:20:37