Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 04/02/2012, 11h39   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 6
Points : 6
Par défaut UPDATE : savoir si la valeur qui a été modifiée était NULL

Bonjour,

je voudrais savoir si un UPDATE dans une colonne avec un index unique a modifié une valeur qui était déjà défini ou qui était NULL ?
Code :
1
2
$sql = 'UPDATE maTable SET maVal = "rue" WHERE user_id = '.$user_id;
$result = mysql_query($sql);
merci
pol2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 14h56   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par pol2095 Voir le message
je voudrais savoir si un UPDATE dans une colonne avec un index unique a modifié une valeur qui était déjà défini ou qui était NULL ?
Je ne comprends pas ta question !

Citation:
Code :
1
2
$sql = 'UPDATE maTable SET maVal = "rue" WHERE user_id = '.$user_id;
$result = mysql_query($sql);
Ta requête affecte la valeur "rue" à la colonne 'maVal' pour l'utilisateur d'identifiant $user_id.

Quelques remarques :
1) En SQL, les valeurs textuelles s'entourent avec des apostrophes, pas des guillemets.

2) Attention aux injections SQL !
Protège les variables utilisées dans les requêtes avec mysql_real_escape_string ou intval selon le type de la variable. Ici, je pense qu'il faut plutôt utiliser intval.

3) Prends la bonne habitude d'aérer et d'indenter ton code SQL.

Code PHP :
1
2
3
4
5
6
$sql = "
	UPDATE maTable 
	SET maVal = 'rue' 
	WHERE user_id = ".intval($user_id)
;
$result = mysql_query($sql);
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2012, 18h07   #3
Invité régulier
 
Inscription : novembre 2007
Messages : 67
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 67
Points : 6
Points : 6
pour les guillemets erreur en recopiant, je vais me servir d'un select for update.

merci quand même
pol2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h51.


 
 
 
 
Partenaires

Hébergement Web