> 데이터 베이스 > MySQL 튜토리얼 > Node-MySQL을 사용하여 단일 쿼리에서 여러 SQL 문을 어떻게 실행할 수 있습니까?

Node-MySQL을 사용하여 단일 쿼리에서 여러 SQL 문을 어떻게 실행할 수 있습니까?

DDD
풀어 주다: 2024-12-20 02:30:15
원래의
489명이 탐색했습니다.

How Can I Execute Multiple SQL Statements in a Single Query Using Node-MySQL?

Node-MySQL의 다중 문 쿼리 지원

Node.js에서는 단일 쿼리에서 여러 SQL 문을 실행할 때 문제가 발생합니다. node-mysql 패키지를 사용합니다.

사용자가 제공한 코드는 세미콜론을 사용하여 4개의 테이블에서 레코드를 삭제하려고 시도합니다. (;) 명령문을 구분합니다. 그러나 이로 인해 SQL 구문에 오류가 있다는 오류가 발생합니다.

node-mysql 문서에서는 원래 SQL 주입 공격으로 이어질 수 있으므로 보안상의 이유로 여러 문에 대한 지원을 비활성화했습니다. 이 기능을 활성화하려면 연결을 생성할 때 multipleStatements를 true로 설정해야 합니다.

var connection = mysql.createConnection({multipleStatements: true});
로그인 후 복사

이렇게 하면 세미콜론 구분 기호를 사용하여 여러 문을 실행할 수 있으며 결과는 다음과 같은 배열이 됩니다. 각 문에 하나의 요소가 있습니다.

예:

connection.query('SELECT ?; SELECT ?', [1, 2], function(err, results) {
  if (err) throw err;

  // `results` is an array with one element for every statement in the query:
  console.log(results[0]); // [{1: 1}]
  console.log(results[1]); // [{2: 2}]
});
로그인 후 복사

이 경우 multipleStatements를 true로 설정하면 초기 코드가 단일 쿼리에서 4개의 DELETE 문을 성공적으로 실행하여 여러 쿼리가 필요하지 않고 코드 효율성이 향상됩니다.

위 내용은 Node-MySQL을 사용하여 단일 쿼리에서 여러 SQL 문을 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿