Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Index + Primaire + Unique [ Archives / AU SECOURS !!! ] (dorian53)

vendredi 8 octobre 2004 à 15:19:44 | Index + Primaire + Unique

dorian53

Bonjour,

Je connais la méthode Merise qui demande de n'avoir qu'une seule clef primaire par table.
Pourtant j'ai des champs internes ds ma table, autre que ma clef primaire, qui doivent etre unique et dont je voudrais qu'ils soient indéxés pour accélerer les recherches.

Prenons l'exemple d'une table MEMBRE avec 1 id et 1 mail.
L'id est ma clef primaire; mais je souhaite que le mail soit également unique et indexé.

Que dois je faire ? Déclarer 2 clefs primaires qui ne serait pas conforme (si vous me confirmez que le type primaire=index+unique).

De plus phpmyadmin, lors de la creation de la table empeche la double déclaration via des boutons radios, on est donc obligé de choisir Pimaire OU Unique OU index.


Merci :)


DoR][aN

vendredi 8 octobre 2004 à 16:00:26 | Re : Index + Primaire + Unique

phpwankenobi

Salut,

Pour moi effectivement on ne peut créer qu'une seule clé primaire, mais rien ne t'emp^che de créer un index unique en plus, ce qui équivaut à une clé primaire, sauf que la clé primaire n'accepte pas le NULL et l'index unique oui.

Si tu ne veux pas vexer Merise, tu peux normaliser à outrance, mais à ta place, je ferais un index unique sur le champ mail et basta.

A+

vendredi 8 octobre 2004 à 16:35:21 | Re : Index + Primaire + Unique

dorian53

Oké, merci pr la qualité de ta réponse.

Juste une précision, l'index n'est pas unique, car apres avoir tester mysql n'interdit pas les doublons, c'est donc a moi de verifier cela avant insertion :/

Mais alors je ne comprends pas pourquoi lors de la creation, phpmyadmin n'offre pas la possibilité de créer un index+unique (pr ne pas avoir 2 clefs primaires par table).


Sinon, que signifie "Texte entier" tjs lors de la création de table ?

Par avance, merci.

Dorian.

samedi 9 octobre 2004 à 10:08:23 | Re : Index + Primaire + Unique

cseagle

Membre Club
Bonjour,

Si ta clé primaire n'est pas unique (donc psa autoincrémentée), crée une clé unique sur le champ de ta clé primaire.

@ plus

samedi 9 octobre 2004 à 13:29:39 | Re : Index + Primaire + Unique

dorian53

Ok mon problème c'est tout simplement que j'ai besoin des proprietes d'une clef primaire sur un de mes champs (qui n'en n'ai pas une) et que phpmyadmin ne permet pas definir un champs unique+index.

Et on ne peux pas déclarer 2 clefs primaires dans une table :/ On peut juste former une clef primaire de 2 champs.

Je vais donc etre contraint de choisir unique ou index. Et en choisissant index je me passerai de la proprieté unique sous mysql :/

J'espere avoir été assez explicite sur ce petit détail qui a son importance.


On m'a répondu : "En fait, "UNIQUE" est un type d'index donc pas de problème."



Donc pour essayer de conclure,

Primaire = unique et indexé
Index = seulement indexé
Unique = unique et indexé

Mais alors quelle difference entre unique et clef primaire ?

samedi 9 octobre 2004 à 14:13:14 | Re : Index + Primaire + Unique

cseagle

Membre Club
Excuse moi mais je peux déclarer une clé unique et une clé index sur le champ "x", tout en ayant une clé primaire sur "id".

Le tout étant de ne pas mettre le même nom de clé.

Voila j'espère que j'ai pu t'aider

samedi 9 octobre 2004 à 15:04:25 | Re : Index + Primaire + Unique

dorian53

C'est vrai par la suite on peut, mais lors de la creation de la table il est impossible puisque phpmyadmin propose des boutons radios de selections.

Je pense qu'il y a une raison a cela, et ca serait donc non conforme de mettre unique index et primaire à la fois !?

Voila ce que j'en déduis, à confirmer ;-)

merci pr vos réponses

DoR][aN



Cette discussion est classé dans : table, index, clef, primaire, unique


Répondre à ce message

Sujets en rapport avec ce message

Création d'une table [ par panpan ] Voici mon codes pour créé un nouvelle table dans ma base de bonnée:CREATE TABLE membres (clef int(11) NOT NULL auto_increment,pseudo varchar(25) NOT N Creation d'une table dans ma base de donnée [ par panpan ] Voici mon codes pour créé un nouvelle table dans ma base de bonnée:CREATE TABLE membres (clef int(11) NOT NULL auto_increment,pseudo varchar(25) NOT N CREATION D'UN INDEX SUR UNE TABLE ET SUR LES CHAMPS [ par poupoly5 ] Slt à tous et à toutes.Je suis en train de créer une base de données et je suis débutant.J'aimerai ,lors de la création de tables, indexer les tables Probleme creation cles primaires [ par Usual suspect ] Bonjour, comment creer une cle primaire d'une table en fonction d'un cle primaire d'une autre table (exigence du cahier des charges)? Exemple : table changer la valeur de la clé primaire [ par Jejechezpas ] Bonjour, à tousJe cherche à changer la valeur d'une clé primaire tout en contrôlant que la nouvelle valeur n'est pas déjà existanteJ'ai une Table Expl Index unique et insertion [ par karpediem ] Bonjour à toutezéatous,Tout d'abord, je vous souhaite une très belle année à tous avec du succès dans tous vos projets tant professionnels que personn problémes de traitement d'un fichier txt avec php [ par snack16 ] salut tout le monde !je solicite votre aide car j'ai déja passé 2 nuits blanches en essayant de resoudre ce probléme qui est le suivant:Je prépare mon recuperer la clef primaire d un enregistrement juste apres l avoir inserer [ par OncleDude ] bonjour, je voudrai envoyer une valeur vers une table sql puis ensuite recuperer sa clef primaire. alors j'ai fait une premiere Requete :           array_unique [ par coockiesch ] Bonjour!J'ai un tableau à plusieurs dimensions.. Il s'agit d'informations sur des photos:dossier, id de la photo. J'aimerais enlever les doublons mais afficher nombre d'enregistrements dans une table [ par jipe32 ] bonjour je vourais savoir comment afficher le nombre d'enregistrement dans une table sur une page php merci


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.