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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] Deux champs uniques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Deux champs uniques

n°2030031
Pommesky
try your life
Posté le 17-10-2010 à 19:49:03  profilanswer
 

Bonjour,
Je débute avec Mysql je sais à peu près m'en servir mais là je voudrait faire les choses bien. J'ai une table comme cela:
 
ID_utilisateur | ID_propriete | Valeur
 
Voilà, cette table peut éventuellement contenir de nombreuses entrées et je cherche le moyen de rendre un couple ID_utilisateur - ID_propriete unique, que Mysql sql me renvoi une erreur si j'essaye de rentrer une entrée avec un couple déjà existant. J'aimerais par la même occasion rendre performant (rapide) la recherche par couple, y'a t'il quelque chose à faire ? J'ai entendu parler d'index mais je ne sait pas à quoi sa sert.
 
Merci d'avance.


Message édité par Pommesky le 17-10-2010 à 20:25:43
mood
Publicité
Posté le 17-10-2010 à 19:49:03  profilanswer
 

n°2030032
couak
Posté le 17-10-2010 à 19:53:20  profilanswer
 

tu stockes dans un champ supplémentaire le couple concaténé avec un séparateur, et tu crée un index unique sur ce champ
 
comment fonctionne un index sous mysql : http://dev.mysql.com/doc/refman/5. [...] dexes.html
 
créer un index : http://dev.mysql.com/doc/refman/5. [...] index.html

n°2030036
Pommesky
try your life
Posté le 17-10-2010 à 20:10:23  profilanswer
 

déjà, merci de la réponse, il y a moyen de le faire automatiquement dans la BDD ou c'est au moment de l'enregistrement des donnée que je doit le vérifier avec code ?

n°2030040
couak
Posté le 17-10-2010 à 20:15:13  profilanswer
 

non un index unique permet de rejeter une ligne automatiquement lors d'une tentative d'insertion ou de mise à jour si la valeur existe déjà
 
ca te ressortira une erreur qu'il faudra gérer dans ton code

n°2030041
Pommesky
try your life
Posté le 17-10-2010 à 20:18:58  profilanswer
 

ok merci bien alors !

n°2030052
mrbebert
Posté le 17-10-2010 à 21:53:47  profilanswer
 

A priori, tu peux directement créer la clé (donc un index) sur les 2 colonnes, pas la peine de définir une colonne supplémentaire :)


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

  [Résolu] Deux champs uniques

 

Sujets relatifs
[resolu][PHP & Oracle] Champs DateTime : recuperer la date ET l'heureles champ d'une liste deroulante depende d'un champs.
update ou pas d'un champsProblème linguistique : champs ou colonnes ?
recup champ aleatoire dans liste de champsAccess2003+état requete analyse croisée avec nombre champs variables
jointure avec 3 champs ?MSSQL retourne un espace blanc si un champs est vide
vérifier les champs d'un formulaire contactajouter un champs de controle
Plus de sujets relatifs à : [Résolu] Deux champs uniques


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