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 :

SELECT LIMIT avec variable


Sujet :

SQL Procédural MySQL

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    Par défaut SELECT LIMIT avec variable
    Bonjour,
    Pour parcourir les lignes d'une table indépendamment du contenu, je veux utiliser une variable après LIMIT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SET @num = 1;
    SELECT * FROM maTable LIMIT @num, 1;
    PhpMyAdmin me retourne une erreur de syntaxe.
    Est-ce que LIMIT accepte une variable ?
    Existe-t-il une autre solution fonctionnelle ?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 392
    Points
    28 392
    Par défaut
    Peut-être en passant par du SQL dynamique ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Peut-être en passant par du SQL dynamique ?
    Merci al1_24 pour cette proposition, je ne connaissais pas le SQL dynamique
    La solution ci-dessous est dans une discussion du forum, elle génère une erreur de syntaxe en ligne 1 !?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BEGIN
    SET @num = "1";
    SET @monsql=CONCAT('SELECT * FROM maTable LIMIT', @num ,',1');
    PREPARE monexec FROM @monsql;
    EXECUTE monexec;
    DEALLOCATE PREPARE monexec;
    END

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    Par défaut
    J'ai trouvé mon erreur, il manquait un espace entre LIMIT et le symbole '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BEGIN
    SET @num = "1";
    SET @monsql=CONCAT('SELECT * FROM maTable LIMIT ', @num ,',1');
    PREPARE monexec FROM @monsql;
    EXECUTE monexec;
    DEALLOCATE PREPARE monexec;
    END
    Merci Al1_24

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. select onchange avec variable PHP
    Par kate59 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/01/2013, 20h41
  2. [MySQL] Select multiple avec variables
    Par ptityop dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/09/2011, 12h03
  3. SELECT WHERE avec variable
    Par hisin dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2010, 08h41
  4. [MySQL] Requête SELECT avec un LIMIT à 2 variables
    Par TekFanatiX dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/03/2009, 10h13

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