>  기사  >  데이터 베이스  >  mysql 사용자 정의 함수에 대한 간략한 소개

mysql 사용자 정의 함수에 대한 간략한 소개

怪我咯
怪我咯원래의
2017-04-01 10:44:481135검색

업무상 다음과 같이 mysql에 대해 사용자 지정 행 수를 작성해야 합니다.
DELIMITER $$
DROP FUNCTION IF EXISTS `onlineFunction` $$
CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETURNS VARCHAR(255)
BEGIN
IF(rrrr='online') THEN RETURN 'online';END IF;
END $$
DELIMITER ;
첫 번째 줄 DELIMITER는 끝 식별자를 정의합니다. MySQL은 기본적으로 SQL 문의 끝으로 세미콜론을 사용하고 함수는 본문 내에서 세미콜론을 사용하기 때문입니다. 따라서 기본 SQL 종결자가 충돌하므로 먼저 다른 기호를 SQL 종결자로 정의해야 합니다. 이 정의가 추가되지 않으면...
오류 코드: 1064
SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 'end' 근처에서 사용할 올바른 구문을 확인하세요. 1

두 번째 줄은 동일한 이름의 클래스를 삭제하세요. 그렇지 않으면...
오류 코드: 1304
FUNCTION onlineFunction이 이미 존재합니다

The 세 번째 줄 함수 이름, 함수 변수 , 반환 유형

네 번째 줄인 Begin은 end$$에 해당하는 시작입니다

다섯 번째 줄은 if입니다. 판결문의 형식은
if(...) then
.....;
elseif
...;
else
입니다. ...;
end if;
return ..;
함수 2가 활성화되지 않았기 때문에 mysql이 사용자 정의 함수를 생성할 수 없는 경우가 있습니다.

다음과 같은 표시 변수를 입력하세요. '%func%'; 명령

은 log_bin_trust_function_creators의 상태를 확인합니다. OFF이면 사용자 정의 기능이 종료되었음을 의미합니다.

set global log_bin_trust_function_creators=1;
명령을 입력하세요.
log_bin_trust_function_creators를 설정하려면 커스텀 함수 기능을 켜주세요

하지만 이 설정은 임시방편이므로 mysql이 자동으로 재시작되면 상태가 OFF로 변경되므로
서비스가 시작될 때 log-bin-trust-function-creators=1 ” 매개변수.

또는 my.ini(my.cnf)의 [mysqld] 섹션에 log-bin-trust-function-creators=1을 추가하세요.


위 내용은 mysql 사용자 정의 함수에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.