mysqlエラーThis function has none of DETERMINISTICソリューション
1513 ワード
この記事では、bin-logログを開くmysqlエラー:This function has none of DETERMINSTIC、NO SQLの解決策を紹介します.
ストアド・プロシージャの作成時
エラーメッセージ:
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)
理由:
これはbin-logを開いたので、私たちの関数が
1 DETERMINISTIC不確定
2 NO SQL SQLはSQl文がなく、もちろんデータの修正もしません
3 READS SQL DATAデータを読み込むだけで、もちろんデータの修正もしません
4 MODIFIESSQL DATAデータを修正する
5 CONTAINS SQLはSQL文を含む
このうちfunctionではDETERMINISTIC,NO SQL,READS SQL DATAのみがサポートされている.bin-logをオンにすると、functionのパラメータを指定する必要があります.
解決方法:
このようにパラメータを追加した後、mysqldが再起動すると、そのパラメータはまた消えてしまうので、my.cnfプロファイルに追加:
log_bin_trust_function_creators=1
読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!
ストアド・プロシージャの作成時
エラーメッセージ:
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)
理由:
これはbin-logを開いたので、私たちの関数が
1 DETERMINISTIC不確定
2 NO SQL SQLはSQl文がなく、もちろんデータの修正もしません
3 READS SQL DATAデータを読み込むだけで、もちろんデータの修正もしません
4 MODIFIESSQL DATAデータを修正する
5 CONTAINS SQLはSQL文を含む
このうちfunctionではDETERMINISTIC,NO SQL,READS SQL DATAのみがサポートされている.bin-logをオンにすると、functionのパラメータを指定する必要があります.
解決方法:
SQL code
mysql> show variables like 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF |
+---------------------------------+-------+
mysql> set global log_bin_trust_function_creators=1;
mysql> show variables like 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON |
このようにパラメータを追加した後、mysqldが再起動すると、そのパラメータはまた消えてしまうので、my.cnfプロファイルに追加:
log_bin_trust_function_creators=1
読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!