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

Langage SQL Discussion :

clé unique et modification


Sujet :

Langage SQL

  1. #1
    Membre du Club

    Inscrit en
    Avril 2005
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 246
    Points : 57
    Points
    57
    Par défaut clé unique et modification
    Bonjour,

    J'ai un champs rang dans ma table qui est un champs unique.
    J'aimerais faire un +1 sur tous les valeurs contenu dans ce champs
    Donc 1-->2
    et 2-->3
    mais comme la clé est unique alors je peux pas faire 1--2 tant que 2-->3 n'est pas fait?
    comment faire?

  2. #2
    say
    say est déconnecté
    Membre éprouvé
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 258
    Points
    1 258
    Par défaut
    ben tu commences par le plus grand si je ne m'abuse

    3->4
    2->3
    1->2


    nan?

  3. #3
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 738
    Points
    1 738
    Par défaut
    Supprime la contrainte PK ou l'index unique, fait "update table set champ=champ+1" et recrée ta contrainte PK ou ton index unique

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    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 115
    Points : 28 493
    Points
    28 493
    Par défaut
    Cela ne pose problème que si tu fais ta mise à jour séquentiellement...
    Si tu le fais en une seule requête, cela ne devrait pas poser problème.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    SQL traitant les données de manière ensembliste ceci n'est en aucun cas un problème ! Sauf si vous tentez d'éviter l'utilisation du langage SQL !!!

    A +

    Exemple :

    Code : 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
    CREATE TABLE T (I INT UNIQUE)
     
    INSERT INTO T VALUES (1)
    INSERT INTO T VALUES (2)
    INSERT INTO T VALUES (3)
     
    SELECT * 
    FROM T
     
    I           
    ----------- 
    1
    2
    3
     
    UPDATE T SET I = I + 1
     
    SELECT * 
    FROM T
     
    I           
    ----------- 
    2
    3
    4
    CQFD

    A +

  6. #6
    Membre du Club

    Inscrit en
    Avril 2005
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 246
    Points : 57
    Points
    57
    Par défaut
    Merci de vos réponses mais tout cela ne convient pas car je manipule une liste d'objet java qui fait reference a des lignes de bdd donc je ne peux pas effectuer ma requete de maniere ensembliste car pas toutes les lignes de la table vont subur cette mis a jour...

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Il suffit donc de rajouter un filtre WHERE à votre requête.

    A +

  8. #8
    Membre du Club

    Inscrit en
    Avril 2005
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 246
    Points : 57
    Points
    57
    Par défaut
    Le probleme est que je ne fais pas de requetes ...
    j'ai une liste d'objet
    et je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(int i; i<objectList.size();i++)
    object(i).set(+1)
    Donc chaque objet fais son plus un en bdd...

  9. #9
    Membre du Club

    Inscrit en
    Avril 2005
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 246
    Points : 57
    Points
    57
    Par défaut
    De plus j'ai essayé par curiosité de faire
    upadte set i= i+1
    et ca me renvoie tjrs une erreur de violation de duplication...

    A noter que je suis avec postgresql

  10. #10
    say
    say est déconnecté
    Membre éprouvé
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 258
    Points
    1 258
    Par défaut
    si je peux me permettre..ce n'est pas fondamentalement un problème de SQL...puisque les solutions qu'on te donne, tu ne peux les appliquer...

    maybe sur le forum JAVA?

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FOR(int i=objectList.size(); i>=0;i--)
    object(i).SET(+1)

Discussions similaires

  1. image uploader dans une liste uniquement en modification
    Par madelse dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 22/04/2013, 13h23
  2. Réponses: 0
    Dernier message: 14/03/2008, 14h36
  3. Réponses: 2
    Dernier message: 02/08/2007, 09h48
  4. [technique] modification unique pour plusiseurs pages
    Par nerick dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 01/01/2006, 20h14
  5. OnBlur Déclenchement uniquement sur modification
    Par cosmos38240 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/11/2005, 01h20

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