Deux champs uniques [Résolu] - SQL/NoSQL - Programmation
Marsh Posté le 17-10-2010 à 19:53:20
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
Marsh Posté le 17-10-2010 à 20:10:23
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 ?
Marsh Posté le 17-10-2010 à 20:15:13
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
Marsh Posté le 17-10-2010 à 21:53:47
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
Marsh Posté le 17-10-2010 à 19:49:03
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