>source

스택: nodejs, expressjs, postgresql, 요청 테스트를 위한 우편 배달부

우편 배달부 요청에 JSON을 올바르게 전달하지 못하는 오류가 발생했습니다. 오류가 발생합니다. "product" 관계의 "productid" 열에 있는 null 값은 null이 아닌 제약 조건을 위반합니다.

지금 postman에서 내 게시물 요청의 json 본문에:

{
    "productID": "1",
    "productName": "pH Cleanser",
    "price": 25.0,
    "quantity": 20
}

그러나 오류가 발생합니다: error: "product" 관계의 "productid" 열에 있는 null 값은 null이 아닌 제약 조건을 위반합니다.

detail: 'Failing row contains (null, pH Cleanser, 25, 20, 2022-01-12 14:34:48.604451, 2022-01-12 14:34:48.604451).',
  hint: undefined,
  position: undefined,
  internalPosition: undefined,
  internalQuery: undefined,
  where: undefined,
  schema: 'public',
  table: 'product',
  column: 'productid',
  dataType: undefined,
  constraint: undefined,

SQL의 내 테이블:

CREATE TABLE product (
    productID serial PRIMARY KEY,
    productName VARCHAR (255) NOT NULL,
    price FLOAT NOT NULL,
    quantity  INT NOT NULL,
    createdAt timestamp DEFAULT CURRENT_TIMESTAMP,
    updatedAt timestamp DEFAULT CURRENT_TIMESTAMP
);

JSON 요청을 전달할 때 직렬 데이터 유형으로 무엇을 합니까? 정수를 수동으로 넣을 수 있다고 생각했지만 유효하지 않습니다.

터미널에서 수동으로 데이터베이스에 삽입할 수 있습니다.

json을 sql 명령에 매핑하는 앱 컨트롤러를 확인하십시오.

Serg2022-01-14 07:57:13
  • 답변 # 1

    기본 키 열에 null 값을 명시적으로 삽입하려는 것 같습니다. productID 열을 포함하지 않거나 postgres 키워드 DEFAULT를 삽입하도록 insert 문을 작성해야 합니다. 이렇게 하면 postgres가 삽입 시 ID를 자동으로 생성할 수 있습니다. 그런 다음 사용 중인 postgres 라이브러리에서 새로 생성된 ID를 검색할 수 있습니다.

  • 이전 모달 팝업에서 .NET Core 3.1 MVC의 서버 측 필드 유효성 검사가 작동하지 않음
  • 다음 python : Pandas에서 데이터 집계 해제