首页 > 解决方案 > 整数的输入语法无效,对于在 express 上运行的具有唯一索引的列 VARCHAR

问题描述

我对使用 postgresql 作为运行数据库的方法发布数据有问题,使用 express 作为后端,使用 svelte 作为前端 我有如下图所示的示例数据,请注意数据库模式已经存在使用 spring 创建,所以我正在使用 svelte 构建前端来自现有数据库的工作 REST API,对于我正在接收所有数据的方法 GET 来说一切正常。

来自快递的数据

苗条的形式

我试图将数据发布到服务器但出现错误->invalid input syntax for integer: "SS_3"

下面是 post 方法的代码:

router.post('', async (req, res) => {
  const { label, subject_id, study_id, status_id, owner_id, oc_oid } = req.body
  const { rows } = await postgres.query('INSERT INTO s_02052020test.study_subject(label,subject_id,study_id,status_id,owner_id,oc_oid) VALUES($1,$2,$3,$4,$5,$6);', [label, subject_id, study_id, status_id, owner_id, oc_oid])
  res.json(rows)
});

表 study_subject 的 SQL 代码:

CREATE  TABLE s_02052020test.study_subject ( 
study_subject_id     integer DEFAULT nextval('s_02052020test.study_subject_study_subject_id_seq'::regclass) NOT NULL ,
label                varchar(30)   ,
secondary_label      varchar(30)   ,
subject_id           integer   ,
study_id             integer   ,
status_id            integer   ,
enrollment_date      date   ,
date_created         timestamptz   ,
date_updated         timestamptz   ,
owner_id             integer   ,
update_id            integer   ,
oc_oid               varchar(40)  NOT NULL ,
time_zone            varchar(255) DEFAULT ''::character varying  ,
user_id              integer   ,
user_status_id       integer   ,
CONSTRAINT pk_study_subject PRIMARY KEY ( study_subject_id ),
CONSTRAINT uniq_study_subject_oid UNIQUE ( oc_oid ) );

如何解决这个问题?请任何帮助/阅读/搜索的链接将不胜感激,谢谢:)

标签: javascriptnode.jspostgresqlexpresssvelte

解决方案


推荐阅读