[MySQL]This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled

MySQL中创建函数的时候如果出现了这个错误,表示创建语句中缺少错误中所示的3个函数行为声明,只要根据需求加在Begin前面就可以了。

如果你不确定,那就需要加DETERMINISTIC ,如果这个函数不会去操作数据库就写NO SQL (不是完全不能有SQL语句),如果需要读取数据就加READS SQL DATA 。

比如

CREATE DEFINER={{EJS3}}@{{EJS4}} FUNCTION {{EJS5}}() RETURNS int
    NO SQL
BEGIN
	SELECT 1+1 into @r;
	return @r;
END



本文发布于 https://luojia.me

本站文章未经文下加注授权不得拷贝发布。

本博客使用Disqus评论系统,如果看不到评论框,请尝试爬墙。