8791 sujets

Développement web côté serveur, CMS

Bonjour me re-voila avec encore une nouvelle question toute bête ...

J'ai en schéma une BDD relationnelle qui a mon sens fonctionne avec 5 table
-News
-Inscris
-Image
-Commentaire
-Commentaire image

Voila dans le principe un inscrit peut commenter une News ou une image voir les deux .

Comment fait t'on une concaténation de clés primaire sous phpmyadmin. Je cherche sous google depuis ce matin sans réponse parcourue pas mal de topique ici je ne trouve pas vraiment non plus.

Suis-je obliger de passer par le Sql ?

Merci d'avance a tous Smiley smile
Et bien c'est la combinaison de 2 clés étrangère pour en faire la clé primaire de la table commentaire et commentaire image.

Enfin c'est ce que j'ai cru apprendre des cours d'informatique théorique prodigué par des profs de compta ...
Tu as un exemple en SQL ?

Si c'est un index sur 2 colonnes tu vas dans l'onglet structure, tu sélectionnes tes 2 colonnes et tu click sur un type d'index (en dessous de la structure de la table).
Modifié par jb_gfx (20 Aug 2011 - 17:47)
De tête la structure de la table commentaire par exemple donnerais sa :

#Id_inscris
#Id_News
Contenu
Date
pseudo
Statuts
Bonjour à toutes et à tous,

il n'est pas nécessaire de créer une seule zone servant de clef primaire et étant la concaténation de deux clefs.

Il suffit sous phpmyadmin, dans la partie structure de ta table, de définir pour la clef primaire toutes les colonnes y participant. Dans ce cas l'index PRIMARY aura une cardinalité de "2".

@+
Salut,
en l'état, ton utilisateur ne pourra commenter qu'une seule fois la news. Si c'est ce que tu veux voici le code à exécuter:

ALTER TABLE Ma_Table
ADD 
(CONSTRAINT PK_ID_NEWS PRIMARY KEY (Id_inscris,Id_news),
CONSTRAINT FK_INSCRIS FOREIGN KEY(id_inscris) references table_inscris.id_inscris,
CONSTRAINT FK_INSCRIS FOREIGN KEY(id_news) references table_news.id_news)


Si tu veux éviter ça, je te conseille d'utiliser comme clef primaire la date, l'id_inscris et l'id_news restant simplement des clefs étrangères...


Un peu de doc: http://www.w3schools.com/sql/sql_primarykey.asp
Modifié par Zed13 (22 Aug 2011 - 09:41)