IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Erreur de syntaxe dans une fonction, uniquement sur PhpMyAdmin


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 149
    Points : 66
    Points
    66
    Par défaut Erreur de syntaxe dans une fonction, uniquement sur PhpMyAdmin
    Bonjour.
    Voila, j'essaye de créer la fonction suivante sur ma base de donnée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DROP FUNCTION IF EXISTS get_or_create_term_group;
    CREATE FUNCTION `get_or_create_term_group`(group_type varchar(64), group_name tinytext, properties mediumtext)
        RETURNS int(11)
        NOT DETERMINISTIC
        SQL SECURITY DEFINER
        COMMENT ''
    BEGIN
         IF (SELECT count(*) FROM t_terminal_group WHERE f_group_type=group_type AND f_group_name=group_name) = 0 THEN
            REPLACE INTO `t_terminal_group` (f_group_type, f_group_name, f_group_properties) VALUES (group_type, group_name, properties);
         END IF;
         RETURN (SELECT f_group_id FROM t_terminal_group WHERE f_group_type=group_type AND f_group_name=group_name);
    END;
    A chaque fois que j'essaye d'exécuter cette fonction sous phpMyAdmin, j'obtiens le message d'erreur suivant:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REPLACE INTO `t_terminal_group` (f_group_type, f_group_name, f_group_properties)' at line 8
    Pourtant, la syntaxe du replace est bonne, je l'ai testée, et même si je remplace cette requête par un insert ou un select, j'ai le même problème. Plus étrange, ce problème ne survient qu'avec phpmyadmin, avec d'autres outils de requêtes MySQL, tout se passe sans problèmes.

    Une idée? Merci d'avance!

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    est ce que ça passe dans la console ou avec php ou un utilitaire sql autre...?

    car phpmyadmin ne supporte pas l'exécution de requêtes multiples donc des routines stockées qui ont plusieurs requêtes en interne...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

Discussions similaires

  1. [Debutant] Erreurs de syntaxe dans une fonction
    Par balix dans le forum Général Python
    Réponses: 4
    Dernier message: 11/05/2014, 19h18
  2. Erreur d'argument dans une fonction
    Par rouliane dans le forum MATLAB
    Réponses: 6
    Dernier message: 12/12/2006, 11h52
  3. [SQL] erreur de syntaxe dans une requete
    Par einsteineuzzz dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 15/06/2006, 09h24
  4. [8i][PL/SQL] erreur avec lpad dans une fonction
    Par sali dans le forum Oracle
    Réponses: 3
    Dernier message: 16/03/2006, 06h22
  5. Erreur de syntaxe dans une requete
    Par linou dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/08/2005, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo