我使用下面的函数来分割字符串。当我尝试在我的实时数据库上创建函数时,我收到以下错误:
此函数在其声明中没有DETERMINISTIC,NO SQL或READS SQL DATA,并且启用了二进制日志记录。
该功能根本没有真正命中数据库。它所做的就是分解一个字符串。所以,如果我发送了1,2,3,4'它把它们分开了。我如何通过此错误?我实际上并没有修改任何表格。
DELIMITER ;;
CREATE FUNCTION `stringSplit`(
x VARCHAR(255),
delim VARCHAR(12),
pos INT) RETURNS varchar(255) CHARSET latin1
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, ',', pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1), delim, '') ;;
DELIMITER ;
******更新******
我收到以下错误代码。
ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled
我认为添加'确定性'是正确的。在返回声明之前。我认为这是处理特权的另一个问题。
答案 0 :(得分:0)
这是用户权限问题。我更改了用户,代码使用了
Deterministic Return
添加到该功能。