首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#1227 -拒绝访问;此操作需要(至少一种)超级特权

问#1227 -拒绝访问;此操作需要(至少一种)超级特权
EN

Stack Overflow用户
提问于 2015-07-09 11:08:46
回答 6查看 175.8K关注 0票数 37

你好,我现在和MySQL!有个问题

这里出什么问题了?我是一个cPanel用户,是的,我搜索了这个,没有找到明确的答案。这似乎比其他人有相同的错误代码问题更具体。请添加一个详细的答复,我可以跟随!我正在使用一个共享的主机帐户。

代码语言:javascript
复制
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$$

这里是错误代码:

代码语言:javascript
复制
MySQL said: Documentation

#1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation 
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-07-09 11:13:46

这意味着您没有使用root@localhost用户创建触发器的权限。

尝试从触发器命令中删除定义器:

创建root@localhost定义器= 函数fnc_calcWalkedDistance

票数 77
EN

Stack Overflow用户

发布于 2018-07-01 08:41:24

只需删除"DEFINER=your user name@localhost“并从phpmyadminwill运行SQL即可。

票数 33
EN

Stack Overflow用户

发布于 2016-09-29 06:06:56

如果要在cpanel上上载sql文件,请尝试在sql文件中使用cpanel用户名替换root用户。

在上述情况下,您可以编写

创建定义器= control_panel_username@localhost函数fnc_calcWalkedDistance

然后上传文件。希望它能帮上忙

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31315660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档