Bonjour,
J'aimerais insérer des clés étrangères pour lier plusieurs colonnes, mais j'ai une erreurs quand je veux la mettre en place.
Mes tables sont en INNODB.
Le code en question :
Le code de création de la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE `europacimes_page_sommets` ADD CONSTRAINT `FK_Sommet` FOREIGN KEY (`id_sommet`) REFERENCES `nathanchkxbde`.`europacimes_sommets`(`id_sommet`); ALTER TABLE `europacimes_sommets` ADD CONSTRAINT `FK_Pays` FOREIGN KEY (`id_pays`) REFERENCES `nathanchkxbde`.`europacimes_pays`(`id_pays`);
J'ai aussi essayé avec la "Vue relationnelle" de PhpMyAdmin, mais il veux que je sélectionne des clés primaires Oo D'aprés ce que j'ai appris, pour une FK, il faut lier un PK d'un table et un colonne 'non PK' de l'autre ?!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 CREATE TABLE IF NOT EXISTS `europacimes_page_sommets` ( `id` int(10) NOT NULL, `id_sommet` int(10) NOT NULL, `titre` varchar(64) CHARACTER SET utf8 NOT NULL DEFAULT '', `contenue` varchar(255) CHARACTER SET utf8 NOT NULL, `date` date NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `europacimes_pays` ( `id_pays` int(10) NOT NULL, `nom` varchar(60) NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `europacimes_sommets` ( `id_sommet` int(10) NOT NULL, `id_pays` int(10) NOT NULL, `nom` varchar(50) NOT NULL, `actif` tinyint(1) NOT NULL DEFAULT '0' ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; ALTER TABLE `europacimes_page_sommets` ADD PRIMARY KEY (`id`,`id_sommet`), ADD KEY `id_sommet` (`id_sommet`); ALTER TABLE `europacimes_pays` ADD PRIMARY KEY (`id_pays`); ALTER TABLE `europacimes_sommets` ADD PRIMARY KEY (`id_sommet`,`id_pays`), ADD KEY `id_pays` (`id_pays`);
J'ai ajouté un index sur id_sommet et id_pays, je peux maintenant le sélectionner dans "Vue relationnelle", mais même erreur:
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cannot add or update a child row: a foreign key constraint fails (`nathanchkxbde`.`#sql-178e_47ddd91`, CONSTRAINT `FK_Sommet` FOREIGN KEY (`id_sommet`) REFERENCES `europacimes_sommets` (`id_sommet`))
Partager