web-dev-qa-db-fra.com

# 1227 - Accès refusé; vous avez besoin (au moins un des) privilèges SUPER pour cette opération

Bonjour, j'ai actuellement un problème avec MySQL!

Qu'est-ce qui ne va pas ici? Je suis un utilisateur de cPanel , et oui j'ai cherché ceci et je n'ai trouvé aucune réponse définitive. Il semble que ce soit plus spécifique que d'autres personnes ayant les mêmes problèmes de codes d'erreur. Veuillez ajouter une réponse détaillée que je peux suivre! P.s J'utilise un compte d'hébergement partagé.

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$$

Voici le code d'erreur:

MySQL said: Documentation

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

Cela signifie que vous n'avez pas les privilèges pour créer le déclencheur avec root @ localhost user ..

essayez de supprimer definer de la commande de déclenchement:

CREER ( DEFINER = root @ localhost FONCTION fnc_calcWalkedDistance

37
Aman Aggarwal

Supprimez simplement "DEFINER = your user name @ localhost "et exécuter le SQL à partir de phpmyadminwill fonctionne très bien.

11
Shafiq

Cela peut arriver un peu tard mais si vous téléchargez un fichier sql sur cpanel, essayez de remplacer root par votre nom d'utilisateur cpanel dans votre fichier sql.

dans le cas ci-dessus, vous pourriez écrire

CRÉER UN DÉFINITEUR = control_panel_username @ localhost FONCTION fnc_calcWalkedDistance

puis téléchargez le fichier. J'espère que ça aide

11
Junior_swashluv