>  Q&A  >  본문

MySQLx 컬렉션에 수동으로 삽입

MySQLx 컬렉션 테이블에 삽입해야 하는 JSON 데이터가 많습니다. JSON 데이터를 로드하려고 하면 현재 Node 구현이 계속 충돌합니다. 이는 컬렉션 API를 통해 한 번에 너무 많은 데이터를 삽입하기 때문인 것으로 의심됩니다. 나는 전통적인 SQL 문을 사용하여 데이터베이스에 데이터를 수동으로 삽입하고 싶습니다(이 NodeJs 충돌을 극복할 수 있기를 바랍니다).

문제는 다음과 같은 테이블 정의가 있다는 것입니다.

으아악

하지만 달릴 때는 插入文档值('{}',DEFAULT,DEFAULT) 나는 다음을 얻습니다:

으아악

기본값을 제공하지 않고 NULL을 사용하고(그러나 _id는 기본값임에도 불구하고 NULL을 허용하지 않음), _id에 0을 사용하고, 숫자와 uuid_to_bin(uuid())을 사용하려고 시도했지만 여전히 같은 결과를 얻습니다. 오류.

이 데이터를 테이블에 직접 삽입하는 방법(저는 session.sql('INSERT...').bind(JSON.stringify(data)).execute() - @mysql/ xdevapi 라이브러리 사용)

P粉917406009P粉917406009240일 전321

모든 응답(1)나는 대답할 것이다

  • P粉191323236

    P粉1913232362024-02-22 09:33:46

    _id 列是根据 JSON 文档中同名字段的值自动生成的。当您使用 CRUD 接口插入文档时,X Plugin 能够为此字段生成唯一值。然而,通过执行简单的 SQL 语句,您也绕过了该逻辑。因此,如果您自己生成 _id 문서를 삽입해도 됩니다. 그렇지 않으면 이 오류가 발생합니다.

    예(crypto .randomInt() 사용):

    으아악

    CRUD API의 문제가 궁금하고, 재현할 수 있는지 확인하고 싶었습니다. 이 경우 이러한 문서를 어떻게 삽입하고 문서가 "충돌"할 때 어떤 피드백(있는 경우)이 제공됩니까?

    면책조항: 저는 Node.js용 MySQL X DevAPI 커넥터의 수석 개발자입니다

    회신하다
    0
  • 취소회신하다