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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql : Valeurs uniques pour une colonne donnée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mysql : Valeurs uniques pour une colonne donnée

n°1217414
moxfulder
PSN : MoxFulder_
Posté le 07-10-2005 à 11:25:00  profilanswer
 

Hello
J'ai une table comportant :  
id
table2_id
table3_id
position
 
pour chaque table2_id, je veux des valeurs unique de table3_id et position. Du genre à ne pas avoir des lignes du genre :
(id, table2_id, table3_id, position) (x, 3, 2, 2) et (y, 3, 2, 2) ou (y, 3, 1, 2).  
En gros, je veux avoir des table3_id et position uniques pour chaque table2_id.  
C'est possible de vérifier cela directement par mysql au lieu de faire cela par programmation ?
 
Merci pour votre aide ! Soyez indulgent, je débute  :bounce:  :jap:

mood
Publicité
Posté le 07-10-2005 à 11:25:00  profilanswer
 

n°1217418
betsamee
Asterisk Zeperyl
Posté le 07-10-2005 à 11:27:38  profilanswer
 

je dois etre con [:petrus75] parceque j ai pas compris la question(enfin j'espere)


Message édité par betsamee le 07-10-2005 à 11:28:41
n°1217448
moxfulder
PSN : MoxFulder_
Posté le 07-10-2005 à 11:40:52  profilanswer
 

non, je me suis surement mal exprimé :
est-ce possible de régler mon problème directement en SQL ou je dois gérer le cas part le programme qui fera les requêtes sur la base ? Le but ce serait que la base vérifie que les valeurs introduites soient correcte pour éviter de le faire pour chaque programme utilisant cette base.

n°1217482
Beegee
Posté le 07-10-2005 à 12:07:38  profilanswer
 

Tu crées un index unique sur table2_id, table3_id, non ?

n°1217488
betsamee
Asterisk Zeperyl
Posté le 07-10-2005 à 12:11:49  profilanswer
 

Beegee a écrit :

Tu crées un index unique sur table2_id, table3_id, non ?


alors en fait j avais bien compris la question , qui est de ce fait totalement abusee [:pingouino]

n°1217494
moxfulder
PSN : MoxFulder_
Posté le 07-10-2005 à 12:14:25  profilanswer
 

ah, je connais pas encore ça. Je vais jeter un coup d'oeil sur ces indexes uniques. Merci bien.

n°1217618
moxfulder
PSN : MoxFulder_
Posté le 07-10-2005 à 14:04:05  profilanswer
 

non ! c'est pas comme ça.
si je mets sur table2_id, table3_id, je peux mettre 2 positions identiques. Si je rajoute position en primary key, ça ne marche pas non plus. En gros :  
id et table2_id sont multiples, table3_id et position sont unique mais UNIQUEMENT pour un table2_id donné !

n°1217683
Beegee
Posté le 07-10-2005 à 14:52:48  profilanswer
 

C'est pas clair ton histoire :D
 
Dis clairement quelles sont les contraintes d'unicité, en terme de couples / trios, et tu verras les index uniques à créer.
 
D'après ce que tu dis, il semblerait qu'il te faille un index sur les 3 ...

n°1217998
moxfulder
PSN : MoxFulder_
Posté le 07-10-2005 à 19:16:03  profilanswer
 

voilà, j'ai la soluce. Si qqch cherche une fois, voilà un exemple :  
CREATE UNIQUE INDEX idx1 ON table (table2_id, table3_id)
CREATE UNIQUE INDEX idx2 ON table (table2_id, position)

n°1218012
Beegee
Posté le 07-10-2005 à 19:33:52  profilanswer
 

C'est pour ça que ta phrase "table3_id et position sont unique mais UNIQUEMENT pour un table2_id donné !" porte à confusion, car je pensais que tu voulais dire que le couple (table3_id, position) doit être unique pour un table2_id donné :)
 
La plupart des problèmes SQL sont résolus ... quand on énonce clairement le problème ;)

mood
Publicité
Posté le 07-10-2005 à 19:33:52  profilanswer
 

n°1218247
moxfulder
PSN : MoxFulder_
Posté le 08-10-2005 à 12:00:01  profilanswer
 

Beegee a écrit :


La plupart des problèmes SQL sont résolus ... quand on énonce clairement le problème ;)


 
oui, dans mon cas, j'avais de la difficulté à former ma question !
Un grand merci pour tous ;)


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

  Mysql : Valeurs uniques pour une colonne donnée

 

Sujets relatifs
Migration sous Mysql... résultat de la requete videQuel langage pour une appli base de donnée ?
Relier base de données Access et MySQLRécupérer numéros ligne et numéros colonne d'une cellule
[mysql] problème majuscule et minusculePerl et Mysql --> débutant
Migration Access => Mysql : changement code asp ??[PHP / MySQL] système de backup
message d'erreur lors de ma connection à MySQL via PhpMyAdminUPDATE sous MySQL + fonctions string ?
Plus de sujets relatifs à : Mysql : Valeurs uniques pour une colonne donnée


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