database

mysql 트리거 생성시 function 생성 오류

우주정복☆ 2015. 5. 13. 10:37

function 만들 때 

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, 
or READS SQL DATA in its declaration and binary logging is enabled 
(you *might* want to use the less safe log_bin_trust_function_creators variable) 

오류발생!! 


해결방법

1. show global variables like 'log_bin_trust_function_creators';

명령어를 실행하여 "log_bin_trust_function_creators" 옵션이 "ON"인지 "OFF"인지를 확인한다.

"OFF" 이면 생성이 안됨!


2. SET GLOBAL log_bin_trust_function_creators = 1; 

명령어를 실행하면 "ON" 으로 바뀐다. (1=ON : 0=OFF)

다시 트리거를 생성하면 오류가 발생하지 않고 적용이 된다.


3. mysql 서버 재시작시 적용방법 - 

my.cnf 파일

[mysqld] 아래

log-bin-trust-function-creators=1

를 삽입한다.