문자열을 동적 쿼리로 실행하는 것은 데이터베이스 프로그래밍에서 유용한 기술이 될 수 있습니다. MySQL에서는 EXEC 또는 EXECUTE와 같은 직접적인 방법을 통해 이 기능을 사용할 수 없습니다. 그러나 PREPARE 및 EXECUTE 문을 사용하는 해결 방법이 있습니다.
MySQL에서 문자열을 쿼리로 실행하려면 다음 단계를 사용할 수 있습니다.
PREPARE stmt FROM 'INSERT INTO table_name (column1, column2) VALUES (?, ?)';
SET @value1 = 'value1'; SET @value2 = 'value2';
EXECUTE stmt USING @value1, @value2;
DEALLOCATE PREPARE stmt;
예:
다음 예에서는 쿼리를 동적으로 실행하여 여러 행을 삽입하는 방법을 보여줍니다. 테이블로:
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;
이 예에서는 데이터베이스에서 사용자 ID 및 그룹 ID 목록을 쿼리합니다. 동적 쿼리 문자열을 작성하여 이러한 값을 user_group 테이블에 삽입한 다음 동적 쿼리를 실행합니다.
위 내용은 PREPARE 및 EXECUTE를 사용하여 MySQL에서 동적 쿼리를 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!