1418错误
1418 - 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)
mysql> show variables like 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF |
+---------------------------------+-------+
1 row in set (0.04 sec)
mysql> set @@global.log_bin_trust_function_creators='On';
Query OK, 0 rows affected (0.01 sec)
mysql> show variables like 'log_bin_trust_function_creators';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON |
+---------------------------------+-------+
1 row in set (0.05 sec)
无参有返回
mysql> delimiter $
mysql> create function func_test() returns int
-> begin
-> declare var_count int default 0;
-> select count(1) into var_count from t_user;
-> return var_count;
-> end $
Query OK, 0 rows affected (0.01 sec)
mysql> delimiter ;
mysql> select func_test();
+-------------+
| func_test() |
+-------------+
| 3 |
+-------------+
1 row in set (0.07 sec)
有参有返回
mysql> delimiter $
mysql> create function func_test_var(var_name varchar(20)) returns int
-> begin
-> declare var_id int;
-> select id into var_id from t_user where username = var_name;
-> return var_id;
-> end $
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter ;
mysql> select func_test_var('zhangsan');
+---------------------------+
| func_test_var('zhangsan') |
+---------------------------+
| 1 |
+---------------------------+
1 row in set (0.05 sec)
查看函数
show create function [func name];
删除函数
drop function [func name];
