因为专业需求,要写五个mysql的自定义行数,如下

DELIMITER $$DROP FUNCTION IF EXISTS `onlineFunction`$$CREATE FUNCTION `onlineFunction` RETURNS VARCHARBEGINIF THEN RETURN '上线';END IF;END$$DELIMITER ;

第生机勃勃行DELIMITE奥迪Q5定义二个了事标记符,因为MySQL暗许是以分行作为SQL语句的完毕符的,而函数体内部要用到支行,所以会跟暗中同意的SQL甘休符发生冲突,所以须要先定义多少个别样的暗号作为SQL的扫尾符。未有加那个定义的话…

错误码: 1064You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'end' at line 1

第二行是去除同名的类,不然会…

错误码: 1304FUNCTION onlineFunction already exists

其三行第意气风发函数名,函数变量,和重返类型

第四行begin是起始,与end$$对应

第五行是if决断语句,格式为

if then....;elseif....;else.....;end if;return ..;

不经常mysql不可能创设自定义函数是因为该意义2未张开

输入 show variables like ‘%func%’; 命令

会看到 log_永利皇宫登录网址 ,bin_trust_function_creators
的情况,即便是OFF表示自定义函数功用是关门的

输入指令 set global log_bin_trust_function_creators=1;

可将 log_bin_trust_function_creators 开启自定义函数功效

不过如此设置是一个一时的方案,因为mysql自动重启后意况又会形成OFF,所以须要在

在劳务运转时加上 “–log-bin-trust-function-creators=1
”参数。或在my.ini中的[mysqld]区段中加上
log-bin-trust-function-creators=1。

网站地图xml地图