#1227 - 访问被拒绝;您需要(至少其中一项)此操作的 SUPER 权限
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
您好,我目前遇到 MySQL!
的问题
这里出了什么问题?我是 cPanel 用户,是的,我搜索了这个但没有找到明确的答案。看起来这比其他有相同错误代码问题的人更具体。请添加我可以跟进的详细回复! P.s 我正在使用共享主机帐户。
DELIMITER $$--
-- Functions
--
CREATE DEFINER = `root`@`localhost` FUNCTION `fnc_calcWalkedDistance` (
`steamid64` BIGINT UNSIGNED
) RETURNS INT( 10 ) UNSIGNEDNO SQL BEGIN DECLARE finished INTEGER DEFAULT 0;
DECLARE distance INTEGER DEFAULT 0;
DECLARE x1, x2, z1, z2 FLOAT;
DECLARE curs CURSOR FOR SELECT x, z
FROM log_positions
WHERE `steamid` = steamid64
ORDER BY `timestamp` DESC ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished =1;
OPEN curs;
FETCH curs INTO x1, z1;
SET x2 = x1;
SET z2 = z1;
calculate : LOOPFETCH curs INTO x1, z1;
IF finished =1 THEN LEAVE calculate;
END IF ;
SET distance = distance + SQRT( POW( x2 - x1, 2 ) + POW( z2 - z1, 2 ) ) ;
-- SET distance = distance + 1;
SET x2 = x1;
SET z2 = z1;
END LOOP calculate;
CLOSE curs;
RETURN distance;
END$$
错误代码如下:
MySQL said: Documentation
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
这意味着您没有使用 root@localhost 用户创建触发器的权限..
尝试从触发器命令中删除定义器:
创建 定义器 = root
@localhost
函数 fnc_calcWalkedDistance
如果您要在 cpanel 上上传 sql 文件,请尝试在 sql 文件中将 root 替换为您的 cpanel 用户名。
在上面的例子中你可以这样写
创建定义器 = control_panel_username
@localhost
函数 fnc_calcWalkedDistance
然后上传文件。
希望对你有帮助
只需从 phpmyadmin 中删除 "DEFINER=your user name
@localhost
" 和 运行 SQL 即可。
从包括过程在内的所有调用中删除 DEFINER=root
@localhost
改变
CREATE DEFINER = `root`@`localhost` FUNCTION `fnc_calcWalkedDistance` (
由
FUNCTION `fnc_calcWalkedDistance` (
您好,我目前遇到 MySQL!
的问题这里出了什么问题?我是 cPanel 用户,是的,我搜索了这个但没有找到明确的答案。看起来这比其他有相同错误代码问题的人更具体。请添加我可以跟进的详细回复! P.s 我正在使用共享主机帐户。
DELIMITER $$--
-- Functions
--
CREATE DEFINER = `root`@`localhost` FUNCTION `fnc_calcWalkedDistance` (
`steamid64` BIGINT UNSIGNED
) RETURNS INT( 10 ) UNSIGNEDNO SQL BEGIN DECLARE finished INTEGER DEFAULT 0;
DECLARE distance INTEGER DEFAULT 0;
DECLARE x1, x2, z1, z2 FLOAT;
DECLARE curs CURSOR FOR SELECT x, z
FROM log_positions
WHERE `steamid` = steamid64
ORDER BY `timestamp` DESC ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished =1;
OPEN curs;
FETCH curs INTO x1, z1;
SET x2 = x1;
SET z2 = z1;
calculate : LOOPFETCH curs INTO x1, z1;
IF finished =1 THEN LEAVE calculate;
END IF ;
SET distance = distance + SQRT( POW( x2 - x1, 2 ) + POW( z2 - z1, 2 ) ) ;
-- SET distance = distance + 1;
SET x2 = x1;
SET z2 = z1;
END LOOP calculate;
CLOSE curs;
RETURN distance;
END$$
错误代码如下:
MySQL said: Documentation
#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
这意味着您没有使用 root@localhost 用户创建触发器的权限..
尝试从触发器命令中删除定义器:
创建 定义器 = root
@localhost
函数 fnc_calcWalkedDistance
如果您要在 cpanel 上上传 sql 文件,请尝试在 sql 文件中将 root 替换为您的 cpanel 用户名。
在上面的例子中你可以这样写
创建定义器 = control_panel_username
@localhost
函数 fnc_calcWalkedDistance
然后上传文件。 希望对你有帮助
只需从 phpmyadmin 中删除 "DEFINER=your user name
@localhost
" 和 运行 SQL 即可。
从包括过程在内的所有调用中删除 DEFINER=root
@localhost
改变
CREATE DEFINER = `root`@`localhost` FUNCTION `fnc_calcWalkedDistance` (
由
FUNCTION `fnc_calcWalkedDistance` (