Construction d'une requête - SQL/NoSQL - Programmation
Marsh Posté le 25-01-2009 à 17:35:22
J'ai essayé : 
 
INSERT INTO users (login, fullName, email) VALUES ('".$login."', '".$fullName."', '".$email."')   on duplicate key update login='toto'; 
 
Mais il m'ajoute toujours une ligne d'enregistrement.
Marsh Posté le 25-01-2009 à 17:46:39
Heu il te suffi de mettre une clé "unique" sur ta colonne login et c'est bon
Marsh Posté le 25-01-2009 à 18:19:57
La requête pour passer un identifiant unique à la colonne login est-elle ? 
 
alter table user add index ('login'); 
 
Je suppose que mettre un identifiant unique génère une erreur si l'enregistrement est identique.
Marsh Posté le 25-01-2009 à 18:32:11
Bien tenté, mais si tu avais lu la doc, tu serais tombé juste :  
 
Code :
  | 
 
 
Exactement, ça va pas te laisser l'ajouter. Après tu as différentes manières de le detecter ... Faire un select avant, regarder combien le lignes ont été ajoutées juste après. 
Marsh Posté le 25-01-2009 à 19:05:44
| esox_ch a écrit : Bien tenté, mais si tu avais lu la doc, tu serais tombé juste :    | 
   
  
 
Merci esox_ch pour ces compléments d'info. et ton entraide.
Marsh Posté le 25-01-2009 à 16:22:38
Bonjour,
Soit la requête suivante :
INSERT INTO users (login, fullName, email) VALUES ('".$login."', '".$fullName."', '".$email."');
J'aimerai insérer les données utilisateur si et seulement si le login portant le nom toto n'existe pas dans la table.
Faut-il que je construise ma requête de la façon suivante ?
INSERT INTO users (login, fullName, email) VALUES ('".$login."', '".$fullName."', '".$email."') WHERE NOT EXISTS (select login form users where login='toto');
Merci bien