CREATE FUNCTION `str_split`(
str VARCHAR(255),
delim VARCHAR(12),
pos INT
) RETURNS varchar(255) CHARSET latin1
begin
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),LENGTH(SUBSTRING_INDEX(str,delim, pos -1)) + 1),delim,'');
str VARCHAR(255),
delim VARCHAR(12),
pos INT
) RETURNS varchar(255) CHARSET latin1
begin
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),LENGTH(SUBSTRING_INDEX(str,delim, pos -1)) + 1),delim,'');
end
由于这个函数里没有任何SQL语句,会提示:
Error: 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)
这里需要修改一个变量值:
set global log_bin_trust_function_creators = ON;
本文介绍了一个MySQL自定义函数str_split的实现细节,并解释了如何解决因函数声明中缺少必要属性而导致的错误。此外,还提供了调整系统配置以启用函数创建的方法。
2903

被折叠的 条评论
为什么被折叠?



