mysql 함수 생성이 안됩니다..

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
mysql 함수 생성이 안됩니다..

QA

mysql 함수 생성이 안됩니다..

답변 1

본문

delimiter || DROP FUNCTION IF EXISTS strip_tags|| CREATE FUNCTION strip_tags( x longtext) RETURNS longtext LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA BEGIN DECLARE sstart INT UNSIGNED; DECLARE ends INT UNSIGNED; IF x IS NOT NULL THEN SET sstart = LOCATE('<', x, 1); REPEAT SET ends = LOCATE('>', x, sstart); SET x = CONCAT(SUBSTRING( x, 1 ,sstart -1) ,SUBSTRING(x, ends +1 )) ; SET sstart = LOCATE('<', x, 1); UNTIL sstart < 1 END REPEAT; END IF; return x; END; || delimiter ;

출처: https://webee.tistory.com/entry/Mysql-에서-HTML-태그-삭제-함수striptags [Red Roof Garage]

 

위의 코드로 strip_tags 라는 함수를 만들려고 하는데요.

그대로 복붙했을 때 좀 더 버전이 높은 mysql에서는 함수가 생성이 됐는데

cafe24에 설치된 mysql에 저대로 실행을 하면 오류가 뜹니다.

그런데 무슨 오류인지 설명은 뜨지않고 그저 오류라고만 뜨네요..ㅠㅠ

해결방법 알려주시면 정말 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 1

웹호스팅 사용시 mysql 함수 생성 권한이 없는 경우가 대부분입니다
루트 권한이 있는 경우에 아래의 명령어를 입력하여 설정하셔야 합니다

SET GLOBAL log_bin_trust_function_creators = 1;

안녕하세요! 답변 정말 감사합니다!!
일단 웹호스팅mysql 에 관해서는 cafe24쪽에 문의해두었는데요...

SELECT strip_tags(wr_content) as stripped_text from g5_write_notice;
처럼 실행했더니
#1690 - BIGINT UNSIGNED value is out of range in '(sstart@1 - 1)'
라는 에러가 뜹니다. 혹시 방법을 아시나요??ㅠㅠ
SELECT strip_tags('<div style="font-size:12px">This is a body area</div>') as stripped_text;
위의 구문은 정상적으로 실행이 됩니다...

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1
© SIRSOFT
현재 페이지 제일 처음으로