Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2006, 16h16   #1
Invité de passage
 
Inscription : mai 2004
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 8
Points : 2
Points : 2
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.
jissay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 18h20   #2
Membre régulier
 
Avatar de jp_rennes
 
Inscription : mars 2006
Messages : 72
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : mars 2006
Messages : 72
Points : 83
Points : 83
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....
jp_rennes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2006, 22h23   #3
Invité de passage
 
Inscription : mai 2004
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 8
Points : 2
Points : 2
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 !
;-)
jissay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 09h32   #4
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Avec 'IF' ?

Code :
VALUES (IF('$data'='', NULL, '$data'))
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2006, 14h15   #5
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Ou avec un trigger avant insertion ?
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h30.


 
 
 
 
Partenaires

Hébergement Web