MySQL에서 문자열 실행: 가능합니까?
MySQL에서 문자열 변수를 쿼리로 전달하면 특히 시도할 때 문제가 발생하는 경우가 많습니다. 동적으로 실행합니다. Microsoft SQL Server의 EXEC 명령과 달리 MySQL에는 유사한 기능이 없습니다. 그러나 이 기능을 달성하기 위한 대체 접근 방식이 있습니다.
MySQL에서 문자열을 동적으로 실행하려면 다음 단계를 사용할 수 있습니다.
다음은 이 개념을 설명하는 예입니다.
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;
이 예에서 @queryString 변수는 다음과 같이 준비됩니다. 개별 쿼리 부분을 연결합니다. 그런 다음 준비된 명령문 stmt가 실행되어 INSERT 작업을 동적으로 수행합니다. 실행 후에는 명령문 할당이 취소되고 @asd 변수가 NULL로 설정되어 동적 쿼리로 인한 지속적인 영향을 방지합니다.
이 기술을 사용하면 MySQL에서 문자열을 효과적으로 실행할 수 있으며 다음 동작을 모방할 수 있습니다. JavaScript의 eval() 함수를 사용하여 더욱 동적이고 유연한 쿼리 실행 가능성을 열어줍니다.
위 내용은 MySQL에서 동적 SQL 쿼리를 어떻게 실행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!