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