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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Question de newb ... désolé !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question de newb ... désolé !

n°1429497
hal777
Posté le 22-08-2006 à 16:29:51  profilanswer
 

Bonjour,
 
je suppose que cette question doit être idiote ... mais bon.
 
J'ai une base de données sous MySQL
Dans cette base, j'ai une table avec x champ (Reference,nom,prénom par exemple)
 
Ma colonne référence est une clé primaire qui est NOT NULL et AUTO INCREMENT
   => de la sorte, Mysql gère tout seule les références.
 
Mon problème, c'est que je voudrais ajouter une contrainte sur la colonne nom :
  => je voudrais qu'une valeur ne puisse exister qu'une fois (qu'elle soit unique).
 
Voilou ... c simple ??? c faisable ??? Question idiote ou pas ???
 
En tout cas merci de vos réponses.

mood
Publicité
Posté le 22-08-2006 à 16:29:51  profilanswer
 

n°1429502
dlaumor
Posté le 22-08-2006 à 16:40:47  profilanswer
 

il existe des index "unique" sur Oracle, regarde de ce côté là

n°1429507
dlaumor
Posté le 22-08-2006 à 16:46:09  profilanswer
 

J'ai trouvé ça pour MySql, je pense que ca doit répondre à ta problématique
 


CREATE UNIQUE INDEX index_name
ON tbl_name (col_name[(length)],... )

n°1429510
Yoyo@
Posté le 22-08-2006 à 16:50:16  profilanswer
 

Aucune question n'est idiote.
 
Comme dit plus haut, il te faut un INDEX de type unique.
 
Sous MySQL, tu peux faire un:


CREATE TABLE myTable (
  ref INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  nom VARCHAR(45),
  prenom VARCHAR(45),
  UNIQUE (nom)
)


 
Ta table aura alors deux index.
 
D'autre part, il faut savoir que sous MySQL, même si tu as un index UNIQUE, ta colonne pourra contenir plusieurs fois la valeur NULL, ce qui peut se révéler très pratique. Et ce, sans perte de performance.
 
Enfin, tu peux rajouter un attribute NON NULL à a colonne nom pour éviter e phénomène dont je te parle au dessus.

n°1432234
hal777
Posté le 27-08-2006 à 21:17:20  profilanswer
 

Yoyo@ a écrit :

Aucune question n'est idiote.
 
Comme dit plus haut, il te faut un INDEX de type unique.
 
Sous MySQL, tu peux faire un:


CREATE TABLE myTable (
  ref INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  nom VARCHAR(45),
  prenom VARCHAR(45),
  UNIQUE (nom)
)


 
Ta table aura alors deux index.
 
D'autre part, il faut savoir que sous MySQL, même si tu as un index UNIQUE, ta colonne pourra contenir plusieurs fois la valeur NULL, ce qui peut se révéler très pratique. Et ce, sans perte de performance.
 
Enfin, tu peux rajouter un attribute NON NULL à a colonne nom pour éviter e phénomène dont je te parle au dessus.


 
 
OK, Super merci à tous ...


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

  Question de newb ... désolé !

 

Sujets relatifs
Question bete sur un CSSLa question classique: Comment bloquer le retour arrière
[PHP] question simple sur les variablesProblème avec Vlookup et question sur MsgBox
Question sur la syntaxe d'un lien hypertexteQuestion de syntaxe, comment faire plus simple??
question pratique sur des cases à cocher[logique] question simple
Question de débutant sur les sessions PHP!Ouverture classeur et réponse question avec 1 macro
Plus de sujets relatifs à : Question de newb ... désolé !


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