반응형
MySQL 저장 프로 시저에서 배열을 문자열로 전달하려고하는데 제대로 작동하지 않습니다.
내 SQL 코드는 다음과 같습니다.
CREATE DEFINER=`root`@`localhost` PROCEDURE `search_equipment`(IN equip VARCHAR(100), IN category VARCHAR(255))
BEGIN
SELECT *
FROM Equipment
WHERE e_description
LIKE CONCAT("%",equip,"%")
AND e_type IN (category)
END
절차를 호출하는 방법은 다음과 같습니다.
String type = "'I.T. Equipment','Office Supply'";
CALL search_equipment('some equipment', type);
어떤 아이디어?
해결 방법
그래서 당신의 절차는
CREATE DEFINER=`root`@`localhost`
PROCEDURE `search_equipment`(
IN equip VARCHAR(100),
IN category VARCHAR(255)
)
BEGIN
SELECT *
FROM Equipment
WHERE e_description LIKE CONCAT("%",equip,"%")
AND FIND_IN_SET(e_type,category)
END
이것은 카테고리 문자열이 쉼표로 구분 된 목록에 의존하므로 호출 코드는
String type = "I.T. Equipment,Office Supply";
CALL search_equipment('some equipment', type);
(p.s. 유형 범주가있는 인수에서 오타 수정)
참조 페이지 https://stackoverflow.com/questions/16103058
반응형
'MySql' 카테고리의 다른 글
MySQL Java MySQL은 데이터베이스에 값이 있는지 확인합니다. (0) | 2021.01.04 |
---|---|
MySQL 단일 SQL 문에 대한 열 헤더 출력을 억제하려면 어떻게해야합니까? (0) | 2021.01.04 |
MySQL MYSQL의 자동 ID 열에 값을 삽입하는 방법 (0) | 2021.01.04 |
MySQL 여러 서버에서 MySQL을 분할하는 방법은 무엇입니까? (0) | 2021.01.04 |
MySQL GridView를 mysql로 채우는 방법은 무엇입니까? (0) | 2021.01.03 |
댓글