begin process at 2012 02 15 00:04:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Index + Primaire + Unique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Index + Primaire + Unique

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ée 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 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 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 Script administration table unique bdd SQL [ par allopizza ] Bonjour, je suis à la recherche d'un script opérationnel en php5, me permettant, ce façon très simple : 1) d'ouvrir ma base 2) d'éditer une table pré 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 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 :           Procédure stockée: Nom de table=Mot Clef [ par suxxa ] Bonjour, Je suis actuellement sur un petit dev web et après avoir quasiment terminé la partie php, je viens de me rendre compte que ma table nommée "


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales