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

Requêtes MySQL Discussion :

Incrémentation d'une colonne


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    commercial
    Inscrit en
    Octobre 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : commercial
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2016
    Messages : 26
    Points : 23
    Points
    23
    Par défaut Incrémentation d'une colonne
    Je cherche a incrémenter une colonne
    La colonne à incrémenter a été insérée par la suite dans la base de donnée et je désirerais insérer des valeurs.
    Je voudrais insérer le chiffre 1 dans la première ligne, le chiffre 2 dans la deuxième ligne, le chiffre 3 dans ...

    Est ce que quelqu'un pourrait me mettre sur une piste ?

    Merci beaucoup


    Nom : Capture3.PNG
Affichages : 159
Taille : 52,7 Ko

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 066
    Points
    19 066
    Par défaut
    Salut jmp65.

    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    --------------
    START TRANSACTION
    --------------
     
    --------------
    set session collation_connection = "latin1_general_ci"
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    ( `id`   integer unsigned NOT NULL AUTO_INCREMENT primary key,
      `lib`  varchar(255)     NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    INSERT INTO `test` (`lib`) VALUES
      ('Un'),('Deux'),('Trois'),('Quatre'),('Cinq')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+--------+
    | id | lib    |
    +----+--------+
    |  1 | Un     |
    |  2 | Deux   |
    |  3 | Trois  |
    |  4 | Quatre |
    |  5 | Cinq   |
    +----+--------+
    --------------
    alter table `test` add column `incr` integer unsigned not null after `id`
    --------------
     
    --------------
    update `test` as t1
    left outer join (         select t3.id,
                                     count(*) as incr
                                from `test` as t3
                     left outer join `test` as t4
                                  on t4.lib <= t3.lib
                            group by t3.id
                    ) as t2
                 on t2.id = t1.id
     
                set t1.incr = t2.incr
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+------+--------+
    | id | incr | lib    |
    +----+------+--------+
    |  1 |    5 | Un     |
    |  2 |    2 | Deux   |
    |  3 |    4 | Trois  |
    |  4 |    3 | Quatre |
    |  5 |    1 | Cinq   |
    +----+------+--------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    La colonne "incr" a été incrémenté selon l'ordre ascendant de la colonne "lib".

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par jmp65 Voir le message
    Je voudrais insérer le chiffre 1 dans la première ligne, le chiffre 2 dans la deuxième ligne, le chiffre 3 dans ...
    Il faut savoir qu'il n'y a pas d'ordre naturel dans une table d'une base relationnelle.
    La notion de "première ligne" ou de "dernière ligne" n'a de sens que si on précise un critère de classement.

    Et pour information, la notion de "champ" n'a de sens que dans un formulaire de saisie ou dans un état, dans une table, on parle de "colonnes" (le titre est corrigé )

Discussions similaires

  1. incrément d'un champs
    Par blowlagoon dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 01/03/2007, 18h12
  2. Incrémentation d'un champ
    Par zut94 dans le forum Access
    Réponses: 5
    Dernier message: 02/05/2006, 12h02
  3. incrémenter automatiquement un champ d'un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 8
    Dernier message: 01/09/2005, 08h42
  4. Update ou insert avec incrément d'un champ
    Par dany13 dans le forum ASP
    Réponses: 5
    Dernier message: 15/10/2004, 12h53
  5. Incrémentation d'un champ de la table
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/09/2003, 20h33

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