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 :

Requête UPDATE avec condition SQLite


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut Requête UPDATE avec condition SQLite
    Bonjour les amis,
    J'essaie de lancer une requête UPDATE qui fonctionne "à moitié".
    Pour que ce soit plus clair je vous donne le but de ma démarche, le nouveau dictionnaire de Scrabble ODS9 est sorti et j'essaie de compléter ma base de données.
    J'ai 8 tables ODS1 à ODS8 avec un seul champ "MOT", donc pour chaque ODS j'ai les mots parus de l'ODS1 à l'ODS8 (chacune de ces tables comprend l'ensemble des mots jouables selon la date de parution du dico).
    J'ai une nouvelle table ODS9 qui comprend tous les mots de l'ODS1 à l'ODS9.
    Dans la table ODS9 j'ai un champ supplémentaire "Edition" où je voudrais indiquer dans quel ODS un mot est apparu.
    Au départ les valeurs d'Edition sont Null.
    J'ai donc lancé la requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ODS9 Set Edition = 1 WHERE Mot IN (SELECT ODS1.Mot FROM ODS1)
    Et ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ODS9 Set Edition = 2 WHERE Mot IN (SELECT ODS2.Mot FROM ODS2) AND Edition = Null
    Pour ces 2 requêtes ça a fonctionné, les valeurs dans Edition sont correctes.
    Et quand je lance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE ODS9 Set Edition = 3 WHERE Mot IN (SELECT ODS3.Mot FROM ODS3) AND Edition = Null
    ça ne marche plus, les valeurs Null restent Null.
    Si quelqu'un avait une idée je lui en serais drôlement reconnaissant.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Pour le NULL on utilise pas = mais IS :
    Je pense que pour l'édition 2 ça avait dû être bien écrit (je ne vois que ça)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 421
    Points : 1 103
    Points
    1 103
    Par défaut
    Bonjour,

    Dans le SQL la valeur NULL est une valeur spéciale, elle n'est jamais utilisée en comparaison.
    Pour ta requête il te suffira de remplacer par Cordialement

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    Arf c'est exactement ça, j'ai utilisé IS sûrement avant et puis = et comme pas de message d'erreur je pensais que les deux étaient bons.
    Mille merci à vous deux.

  5. #5
    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 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par acaumes Voir le message
    Bonjour,
    Dans le SQL la valeur NULL est une valeur spéciale, elle n'est jamais utilisée en comparaison.
    Bonjour,

    "NULL" n'est pas une valeur, mais un marqueur d'absence de valeur, d'où la syntaxe IS NULL et non pas =NULL.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    OKK merci pour la nuance, je n'oublierai plus dorénavant.

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

Discussions similaires

  1. Requête Update avec une condition ou
    Par simo22 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 31/01/2019, 17h16
  2. [MySQL] concaténer une requête sql avec condition
    Par maliak dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/02/2006, 12h01
  3. update avec condition sur autre table
    Par allowen dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/04/2005, 15h02
  4. UPDATE avec condition sur d'autres tables
    Par guda dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/03/2005, 11h20
  5. [VB.NET] [ODBC] Pb requête UPDATE avec clé primaire..?
    Par Pleymo dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/03/2005, 18h46

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