> 데이터 베이스 > MySQL 튜토리얼 > MySQL은 JavaScript의 eval()과 같은 쿼리로 문자열을 실행할 수 있습니까?

MySQL은 JavaScript의 eval()과 같은 쿼리로 문자열을 실행할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2024-11-29 09:35:16
원래의
364명이 탐색했습니다.

Can MySQL Execute a String as a Query Like JavaScript's eval()?

MySQL이 문자열을 쿼리로 실행할 수 있나요?

질문:

MySQL에서 EXEC 또는 CALL을 통해 쿼리로 varchar를 전달하는 저장 프로시저를 실행하려는 환경에서 입증되었습니다. 실패했습니다. 이를 가능하게 하는 JavaScript의 eval 함수와 동등한 MySQL이 있습니까?

답변:

예, 다음 기술은 JavaScript의 eval과 유사한 MySQL 구현을 제공합니다.

  1. CONCAT을 사용하여 SQL 변수(@queryString)를 정의하여 쿼리 문자열을 동적으로 생성합니다. varchar 매개변수.
  2. PREPARE를 사용하여 @queryString 기반의 명령문(stmt)을 준비합니다.
  3. EXECUTE를 사용하여 준비된 명령문(stmt)을 실행합니다.
  4. DEALLOCATE를 사용하여 준비된 명령문 할당을 해제합니다. PREPARE.
  5. SQL 변수(@asd)를 다음으로 재설정합니다. NULL.

예:

SET @queryString = (
SELECT CONCAT('INSERT INTO user_group (`group_id`,`user_id`) VALUES ', www.vals) as res FROM (
    SELECT GROUP_CONCAT(qwe.asd SEPARATOR ',') as vals FROM ( 
           SELECT CONCAT('(59,', user_id, ')') as asd FROM access WHERE residency = 9 
    ) as qwe 
) as www
);

PREPARE stmt FROM @queryString;
EXECUTE stmt;
DEALLOCATE PREPARE stmt; 
SET @asd = NULL;
로그인 후 복사

위 내용은 MySQL은 JavaScript의 eval()과 같은 쿼리로 문자열을 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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