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 :

Pb nombre lignes


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut Pb nombre lignes
    bonjour,
    je debute sur Mysql , actuellement j'utilise Mysql (3.23.39) comme base de données pour un logiciel de supervision.Le pb c'est que dans ma base il y a un table (event) qui stocke les evenements de mon appli , je rencontre un pb de taille.
    1- est il possible de limiter le nb maxi de ligne(genre stockage glissant )
    2- si non quel est la reqete pour effecer toutes les lignes ex > 1000
    merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    tu utilises limite

    SELECT *
    FROM `horaire`
    LIMIT 0 , 30

    les enregistrements de 0 -> 30 sont retourne

    bonne chance

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    c'est ok pour visualiser , mais j'ai certainement mal formulée ma question.
    En fait je vuex suprimer par exemple
    si j'ai 150 lignes
    supprimer de la lignes 100 a la ligne 150

    ou encore mieux (si possible ) supprimer toutes les lignes apres la ligne 100

    merci d'avance

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    je ne sais pas


    delete from table limit 50

    efface les 50 premieres lignes

    il faut que tu cherche dans la doc sur le site mysql

  5. #5
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Bonjour,

    Avec ta version ça va être difficile :

    - impossibilité d'utiliser ORDER BY dans un DELETE pour ne supprimer que les dernières lignes (pour cela il faut la 4.0)

    - pas de limitation du nombre de lignes dans une table (avec la 5.0 c'est faisable en bricolant un peu grâce à un trigger).

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    je vous remercir je vais voir pour changer la version

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut pb effacement lignes suite
    je viens d'installer mysql 4.00.15 je n'arrive toujours pas a supprimer lex X premiers enregistrement.
    je m'explique.
    Ma table event est constament enrichie par des evenements , mais ayant plusieurs installations sur cette table , celle ci prens une taille trop importante.Ce que je cherche a faire ces soit limiter la taille de cette table a XX events ou a supprimer les les premiers evenements afin de ne garder que les xx derniers

    merci pour votre aide

  8. #8
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Tu as essayé avec un DELETE ... LIMIT ?

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    j'ai esaye avec un
    delete from event limit 2
    cela m'efface les deux premieres lignes
    alors j'etait confiant j'ai continué avec
    delete from event limite 100 , 110
    et la j'ai un mesage d'erreur de syntax

  10. #10
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Citation Envoyé par eloman
    delete from event limite 100 , 110
    et la j'ai un mesage d'erreur de syntax
    Double erreur:
    - il n'y a pas de 'e' à LIMIT
    - pour le enregistrement de 100 à 110, il faut écrire: LIMIT 100, 10
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    e a limit est une erreur de frappe sur le message
    par contre j'essaye ta synthax pour le delete
    merci

  12. #12
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut
    j'ai essaye la commande

    delete from event limit 10,2
    mais j'ai en retour le message suivant

    My-Sql error
    1064 -You have an error in your Sql syntax.Check the manual that corresponds to your MySql server version for the right syntax tu use near '2' at line 1

    que faire ?????

  13. #13
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Citation Envoyé par eloman
    My-Sql error
    1064 -You have an error in your Sql syntax.Check the manual that corresponds to your MySql server version for the right syntax tu use near '2' at line 1
    Ah tiens, t'as raison : ça, c'est le LIMIT du SELECT mais ça ne marche pas pour le DELETE. C'est dommage, ça aurait été bien pratique...

    Citation Envoyé par eloman
    que faire ?????
    Ca dépend: dans un message tu dis que tu veux garder les X premiers enregistrements et dans un autre, c'est les X derniers. C'est lesquels que tu veux?

    En plus, il y a ton problème de version...

    Sinon, est-ce que tes enregistrements ont un identifiant ?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  14. #14
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Par défaut pb lignes
    en fait je veux garder dans ma tableles XX derniers evenements apparut celle ci .
    La structure de cette table est la suivante

    TIME location origin type nature event id transaction description value

    La colonne TIME est un identifiant horaire de type

    1138358764546 ce qui corresponds à Fri Jan 27 11:46:04 CET 2006
    à chaque nouveau evenement celui ci incremente ma table d'une ligne

  15. #15
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    si tu as un identifiant tu commence par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    select count(*) from table
     
    tu stock la valeur dans  une variable comte
     
    select identifiant from table limit compte-10, 10
     
    tu recuperes les 10 derniers identifiants
     
    delete from table where id = identifiant
    bonne chance

  16. #16
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Vu que tu veux garder les 10 derniers, pas besoin de se baser sur l'identifiant, par contre dietrich est sur la bonne voie (mais il y a une erreur dans son script):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select @SUPPRIMER=count(*)-10 from table
     
    #tu stockes la valeur dans une variable
     
    delete from table
    limit @SUPPRIMER
    et là, pas de problème avec le LIMIT
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

Discussions similaires

  1. [SWT] Nombre lignes dans un Text
    Par anoukhan dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 26/02/2007, 11h50
  2. Compter nombre lignes générées par GROUP BY
    Par Trunks dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2006, 16h52
  3. [VB.NET] Nombre ligne d'un DataGrid
    Par botanique dans le forum Windows Forms
    Réponses: 11
    Dernier message: 05/11/2005, 16h45
  4. Nombre ligne dans un ensemble de fichier
    Par devdev2003 dans le forum Linux
    Réponses: 8
    Dernier message: 13/05/2005, 18h59
  5. Compter le nombre ligne listée (COUNT) ?
    Par StouffR dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2002, 09h41

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