반응형
MySQL FIND_특수 문자가 포함된 IN_SET 함수가 작동하지 않습니다.
저장 프로시저가 있습니다.
CREATE PROCEDURE MyDB.`tag_quicktrend`(
IN taglist TEXT
)
BEGIN
SELECT *
FROM taginfo
WHERE FIND_IN_SET(tagname,taglist);
END;
SP를 호출할 때:call sp_chart_band_tag_quicktrend('YH05_한글')
올바른 태그를 반환합니다.call sp_chart_band_tag_quicktrend('YH05_한글,~!@#$%^&*()_+|}{":?><./'';[]\\=-
')`
그러나 YH05_글한 태그만 반환합니다.
값 ~!@#$%^&*()_+|}{":?></>;[]\=-'는 데이터베이스에 있는 태그 이름입니다.
데이터베이스의 데이터는 다음과 같습니다.
버전 MySQL:
SELECT VERSION();
10.3.9-마리아DB
결국 이 모드를 설정했기 때문에 문제를 발견했습니다.
SET @@SQL_MODE = CONCAT(@@SQL_MODE, ',NO_BACKSLASH_ESCAPES');
이 동일(=) 쿼리 반환이 비어 있습니다.
select * from taginfo where tagname = '~!@#$%^&*()_+|}{":?><./'';[]\\=-`'
NO_BACKSLASH_ESCAPES를 제거할 때SET @@SQL_MODE = 'NO_ENGINE_SUBSTITUTION';
select * from taginfo where tagname = '~!@#$%^&*()_+|}{":?><./'';[]\\=-`'
tagname = ~!@#$%^&*()_+|}{:?><./';[]\=-`
FIND_가 되도록IN_SET 함수가 올바른 값과 일치합니다.
언급URL : https://stackoverflow.com/questions/54759903/mysql-find-in-set-function-with-special-character-not-working
반응형
'sourcetip' 카테고리의 다른 글
NSMutable 어레이 인덱스 간에 개체 이동 (0) | 2023.07.27 |
---|---|
자바스크립트로 iframe의 본문 내용을 얻는 방법은? (0) | 2023.07.27 |
Ajax 데이터베이스 업데이트 후 전체 일정으로 이벤트 렌더링 (0) | 2023.07.27 |
스택 추적에서 로그가 예외를 발견했습니다. (0) | 2023.07.27 |
JSR 303 Bean Validation을 Spring Data Rest와 함께 사용할 수 있습니까? (0) | 2023.07.27 |