pg-promise를 사용한 다중 행 삽입
단일 쿼리 내에 여러 행을 삽입하는 것은 대량 작업을 위한 효율적인 접근 방식입니다. Pg-promise는 배열 기반 메커니즘을 통해 다중 행 삽입을 원활하게 지원합니다.
다중 행 삽입 구문
여러 행을 삽입하려면 정의할 수 있습니다. 각 객체가 행을 나타내는 객체 배열:
const values = [{col_a: 'a1', col_b: 'b1'}, {col_a: 'a2', col_b: 'b2'}];
다중 행 삽입 쿼리를 생성하려면 pgp.helpers 네임스페이스의 삽입 도우미를 활용하세요.
const cs = new ColumnSet(['col_a', 'col_b'], {table: 'tmp'}); const query = insert(values, cs);
그러면 다음 쿼리가 생성됩니다.
INSERT INTO "tmp"("col_a","col_b") VALUES('a1','b1'),('a2','b2')
쿼리 실행
없음 메서드를 사용하여 생성된 쿼리를 실행할 수 있습니다.
await db.none(query);
동적 SQL 이름 및 SQL 주입 방지
Pg-promise는 문자열 보간 대신 쿼리 매개변수에 자리 표시자($1, $2 등)를 사용합니다. 이 접근 방식은 라이브러리가 쿼리를 구성하기 전에 매개변수를 삭제하므로 SQL 주입 취약점을 방지합니다.
추가 참고 사항
요약하자면, pg-promise는 다중 행 삽입을 수행하기 위한 강력한 솔루션을 제공하여 데이터 무결성과 성능 효율성을 보장합니다. 최적의 결과를 얻으려면 삽입 도우미와 동적 SQL 이름을 활용하세요.
위 내용은 pg-promise는 PostgreSQL에서 다중 행 삽입을 어떻게 효율적으로 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!