Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1729 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Construction d'une requête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Construction d'une requête

n°1842764
sneakz
Posté le 25-01-2009 à 16:22:38  profilanswer
 

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

mood
Publicité
Posté le 25-01-2009 à 16:22:38  profilanswer
 

n°1842777
sneakz
Posté le 25-01-2009 à 17:35:22  profilanswer
 

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.

n°1842780
esox_ch
Posté le 25-01-2009 à 17:46:39  profilanswer
 

Heu il te suffi de mettre une clé "unique" sur ta colonne login et c'est bon


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1842802
sneakz
Posté le 25-01-2009 à 18:19:57  profilanswer
 

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.

n°1842808
esox_ch
Posté le 25-01-2009 à 18:32:11  profilanswer
 

Bien tenté, mais si tu avais lu la doc, tu serais tombé juste :  
 

Code :
  1. alter table user add unique (`login`)


 
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.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1842827
sneakz
Posté le 25-01-2009 à 19:05:44  profilanswer
 

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.


Message édité par sneakz le 25-01-2009 à 19:06:04

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Construction d'une requête

 

Sujets relatifs
[sql]Requête qui affiche les doublons à partir d'un critèreRequete SQL Hibernate
[ACCESS] Erreur de compilation requete VBAvariables php dans requete sql
Méthode POST et construction d'une URLRequête SQL : comptage des colonnes avec une valeur
[ACCESS]Difficulté d'execution d'une requetefaire une requete sql avec incrémentation
Requete GROUP BY ou DISTINCT ou impossible a faire ?Besoin d'une idée pour automatiser une construction de requête
Plus de sujets relatifs à : Construction d'une requête


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR