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 중국어 웹사이트의 기타 관련 기사를 참조하세요!