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 :

[INSERT / UPDATE] Remplacer une valeur vide par NULL


Sujet :

SQL Procédural MySQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 8
    Points
    8
    Par défaut [INSERT / UPDATE] Remplacer une valeur vide par NULL
    Bonjour,

    Je souhaiterais savoir si une fonction permet de remplacer à la volée une valeur vide par une valeur NULLe.

    Je m'explique :

    Je souhaite faire :
    INSERT INTO MaTable ('MonChampNUll') VALUES ('$data')

    Or si $data = '' (chaine vide), la valeur stockée sera '' et non la valeur NULL.

    Existe t'il une fonction qui permette de faire cela du type IFNULL, REPLACE, ...
    ???

    Merci par avance.

  2. #2
    Membre régulier Avatar de jp_rennes
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2006
    Messages : 72
    Points : 86
    Points
    86
    Par défaut
    J'ai rencontré le problème et la seule solution que j'avais trouvé :
    dans mon applicatif php si la valeur est "" je remplace par NULL
    en fait j'ai fait un tableau dans php avec les valeurs de value puis je parcours le tablau et mets NULL si la case est vide...
    J'espère m'être fait comprendre...
    Il y a probablement mieux....

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Merci jp_rennes !

    C'est effectivement la méthode que j'utilise depuis un bout de temps (tableau) mais je pensais qu'une fonction de MySQL aurait pu m'éviter ce casse tête déclaratif...

    J'avais même pensais à un moment intéroger la structure de la table pour connaitre tous les champs NULL et à partir de la remplacer toutes les valeurs vides par 'NULL'

    Pas terrible quand même... en attendant mieux !
    ;-)

  4. #4
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Avec 'IF' ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VALUES (IF('$data'='', NULL, '$data'))

  5. #5
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Ou avec un trigger avant insertion ?

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/09/2014, 16h29
  2. [XL-2013] Remplacer une cellule vide par une valeur
    Par Tiagra dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/09/2014, 20h45
  3. Meilleur moyen de remplacer une chaine vide par null
    Par ToniConti dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 02/09/2013, 10h11
  4. [MySQL] Remplacer une chaîne vide par NULL
    Par whoaloic dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/05/2011, 14h29
  5. Réponses: 5
    Dernier message: 13/12/2006, 16h08

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