[Mysql] Creer un champs si il n'existe pas.
krabs
-
gyam -
gyam -
Bonjour,
J'effectue la mise a jour d'une base de donnée a 2champs ( un nom(unique) et un total de points) avec:
Ce qui marche parfaitement.Maintenant je voudrai complexifier un peu mon script pour pouvoir créer un un nouveau champs si le nom n'existe pas encore dans la base.
exemple: toto n'a pas de champs dans la base je veut donc lui donner en donner un.
J'ai penser au "NOT EXISTS" mais je suis pas capable de bien l'appliquer étant encore très novice avec le sql
Merci à vous
J'effectue la mise a jour d'une base de donnée a 2champs ( un nom(unique) et un total de points) avec:
UPDATE classement SET points=points+$chg WHERE nom='$nom'
Ce qui marche parfaitement.Maintenant je voudrai complexifier un peu mon script pour pouvoir créer un un nouveau champs si le nom n'existe pas encore dans la base.
exemple: toto n'a pas de champs dans la base je veut donc lui donner en donner un.
J'ai penser au "NOT EXISTS" mais je suis pas capable de bien l'appliquer étant encore très novice avec le sql
Merci à vous
A voir également:
- [Mysql] Creer un champs si il n'existe pas.
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
4 réponses
Il faut d'abord tester si le nom existe, et ensuite décider s'il faut un INSERT ou un UPDATE
$requete = "SELECT COUNT(*) as nombre FROM `classement` WHERE `nom`='$nom'"; $reponse = mysql_query ($requete) or die (mysql_error); $reponse= mysql_fetch_array($reponse); if ($reponse['nombre']>0) { // le nom existe déjà : on met à jour $requete="UPDATE classement SET points=points+$chg WHERE nom='$nom'"; else // nouveau nom : on insère $requete="INSERT INTO `classement` (`points`,`nom`) VALUES ('$points','$nom'); mysql_query ($requete) or die (mysql_error);
Et pour créer un champ s'il n'existe pas? Les manipulations sur table existantes, google est vraiment mon ami mais pour les champs....