mysql 함수 생성이 안됩니다.. 채택완료
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;
답변에 대한 댓글 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;
위의 구문은 정상적으로 실행이 됩니다...