Question de newb ... désolé !

Question de newb ... désolé ! - SQL/NoSQL - Programmation

Marsh Posté le 22-08-2006 à 16:29:51    

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.

Reply

Marsh Posté le 22-08-2006 à 16:29:51   

Reply

Marsh Posté le 22-08-2006 à 16:40:47    

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

Reply

Marsh Posté le 22-08-2006 à 16:46:09    

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)],... )

Reply

Marsh Posté le 22-08-2006 à 16:50:16    

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.

Reply

Marsh Posté le 27-08-2006 à 21:17:20    

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 ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed