#1227-Доступ запрещен; вам нужна (по крайней мере, одна из) супер привилегий для этой операции
Здравствуйте, у меня в настоящее время проблема с 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
3 ответов
это означает, что у вас нет привилегий для создания триггера с корень@localhost в пользователей..
попробуйте удалить definer из команды триггера:
создать DEFINER = root
@localhost
функции fnc_calcWalkedDistance
Это может прийти немного поздно, но в случае, если вы загружаете файл sql на cpanel, попробуйте заменить root своим именем пользователя cpanel в вашем файле sql.
в случае выше, вы могли бы написать
СОЗДАТЬ ОПРЕДЕЛИТЕЛЬ = control_panel_username
@localhost
функции fnc_calcWalkedDistance
затем загрузить файл. Надеюсь, это поможет
просто удалите " DEFINER=your user name
@localhost
" и запустить SQL из phpmyadminwill работает нормально.