创建一个简单的函数,实现输入一个数字n,输出n+1
首先通过delimiter将结束符修改为$$,因为函数体中也会用到分号,为避免冲突,需要另外修改结束符
通过“create function 函数名(参数列表) returns 返回类型”这种格式创建函数
在begin和end中间写函数体,如果函数体中仅有一句话,则可以省略begin end
declare声明变量
函数有且仅有一个返回值
调用方法:select 函数名(参数列表);
若出现错误: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语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,所以不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句
可以通过语句查看log_bin_trust_function_creators状态,如果是off,此时将不能创建函数
解决方法:建议临时设置bin-log,重启mysql后将恢复原始值
上一篇:Mysql重置主键自增值,Mysql让自增主键从1开始
下一篇:MySQL用户操作