1048 以及一直报错语句不对
由于下一个项目 ,项目经理准备用mysql 作为数据传输语言,我们也不得不考虑用mysql
但是本人确实没咋接触过mysql,所以就遇到一下的坑
通过 dbeaver 或者navicat 导入一下项目的时候,在创建函数是遇到 报错信息 1048 错误,我就很纳闷。
查了下才发现 是mysql 默认是不开启自定义函数的,这个需要我们把设置打开,是不
是很坑。
所以下边就是查看的流程
show variables like '%func%';
-- 查看目前数据库自定义函数是否开启
set global log_bin_trust_function_creators =1;
-- 1 就是开启
-- 0 就是关闭
好了 到目前为止 函数不能创建的问题解决了
接下来就是更坑的
我在写 oracle 的时候,只要在一个sql 窗口内 将
function begin end; 就能完成一个自定义函数
但是在mysql 中 只要是遇到 分号 ;都会认为是结束的意思
那么就是导致一个问题 1064报错 ,你写在窗口内的程序块不会被认为是一个完整的程序。
尤其是在执行sql 脚本文件的时候极其痛苦。
DELIMITER //
CREATE FUNCTION
end //