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 :

Pas d'erreur avec UPDATE si un champ n'existe pas !


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Pas d'erreur avec UPDATE si un champ n'existe pas !
    Question sur l'utilisation de UPDATE :

    Pourquoi, si j'exécute la requête suivante, aucune erreur n'est retournée si le loc_num = 8938 n'existe pas ?
    Cela revient à vouloir remplir une "case" vide ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE `edm`.`location` SET `loc_name` = 'TEST DE CHARGE 2' WHERE `location`.`loc_num` =8938 LIMIT 1 ;
    Comment faire alors si l'on souhaite qu'il y est une erreur levée dans ce cas ?

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Citation Envoyé par poiwalt Voir le message
    Comment faire alors si l'on souhaite qu'il y est une erreur levée dans ce cas ?
    A part faire un select avant, je ne vois pas.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE `edm`.`location` 
    SET `loc_name` = 'TEST DE CHARGE 2' 
    WHERE `location`.`loc_num` =8938 
    LIMIT 1 ;
    Citation Envoyé par poiwalt Voir le message
    Pourquoi, si j'exécute la requête, aucune erreur n'est retournée si le loc_num = 8938 n'existe pas ?
    La requête ne met à jour que la ligne correspondant au critère du WHERE. Si le critère n'est pas satisfait, aucune ligne n'est mise à jour. Ce n'est pas une erreur ; votre requête est correcte mais met à jour zéro ligne.

    Cela revient à vouloir remplir une "case" vide ?
    Non, cela revient à vouloir mettre à jour quelque chose qui n'existe pas.

    Comment faire alors si l'on souhaite qu'il y ait une erreur levée dans ce cas ?
    En MySQL, on peut récupérer le nombre de lignes affectées par la requête UPDATE. En php, il existe la fonction mysql_affected_rows(id de session MySQL).

    A voir selon votre SGBD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. UPDATE ou INSERT si n'existe pas encore
    Par Natim87 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 17/08/2009, 14h13
  2. [AC-2003] Erreur avec UPDATE via les données d'une requete SELECT
    Par cpdump dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/06/2009, 12h32
  3. Erreur générée par un formulaire qui n'existe pas
    Par Miss Ti dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/02/2008, 09h39
  4. Erreur avec requete d'un champ
    Par aliboubou dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 12/02/2007, 15h40
  5. pas d'erreur mais update qui marche pas
    Par gloppy dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/12/2006, 15h49

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