질문:
MySQL에서 문자열 배열을 어떻게 효과적으로 전달할 수 있습니까? 저장된 루틴에 대한 매개변수로? 배열에는 다양한 길이의 많은 요소가 포함될 수 있습니다. 목표는 추가 데이터 조작을 위해 이러한 문자열을 메모리 내 테이블에 삽입하는 것입니다.
예:
문자열 값 "Banana, Apple, 주황색". 원하는 결과는 이러한 값으로 채워진 하나의 열 "fruitName"이 있는 임시 테이블입니다.
가능한 해결 방법:
제공된 샘플 함수는 이를 수행하는 방법을 보여줍니다. Microsoft SQL Server의 작업이지만 MySQL에는 직접 적용되지 않을 수 있습니다. MySQL에 대한 대체 접근 방식을 살펴보세요.
MySQL 구현:
준비된 문을 사용하여 동적 쿼리를 구성하여 배열을 문자열로 전달하고 원하는 결과를 얻을 수 있습니다. 그림은 다음과 같습니다.
DELIMITER $$ CREATE PROCEDURE GetFruits(IN fruitArray VARCHAR(255)) BEGIN SET @sql = CONCAT('SELECT * FROM Fruits WHERE Name IN (', fruitArray, ')'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END $$ DELIMITER ;
사용법:
이 저장 프로시저를 사용하려면 다음 단계를 따르세요.
SET @fruitArray = '\'apple\',\'banana\''; CALL GetFruits(@fruitArray);
이 접근 방식을 사용하면 문자열 배열을 효율적으로 전달하고 MySQL 내에서 데이터 조작에 필요한 메모리 내 테이블을 생성합니다.
위 내용은 문자열 배열을 MySQL 저장 프로시저에 효율적으로 전달하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!