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

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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 averti
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 48

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

    SELECT *
    FROM `horaire`
    LIMIT 0 , 30

    les enregistrements de 0 -> 30 sont retourne

    bonne chance

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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 averti
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Points : 301
    Points
    301
    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 émérite 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
    Points : 2 973
    Points
    2 973
    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).
    Pensez au bouton

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    je vous remercir je vais voir pour changer la version

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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 émérite 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
    Points : 2 973
    Points
    2 973
    Par défaut
    Tu as essayé avec un DELETE ... LIMIT ?
    Pensez au bouton

  9. #9
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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 : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    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
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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 : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    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
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 10
    Points : 4
    Points
    4
    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 averti
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Points : 301
    Points
    301
    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 : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    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