Bonsoir tout le monde.

Voilà, le problème suivant se pose à moi. Je tente de faire un insert dans une table intermédiaire contenant deux clés étrangères (foreign key) et une valeur.
Les deux tables référencées sont les suivantes:

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
 
mysql> desc projets;
+---------------+---------------+------+-----+---------+-------+
| Field               | Type              | Null   | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| id_projet         | decimal(10,0)  | NO    | PRI   | NULL    |       |
| id_client          | decimal(5,0)   | YES   | MUL  | NULL    |       |
| id_cuisiniste     | decimal(5,0)    | YES  | MUL  | NULL    |       |
| date_create     | date              | YES  |        | NULL    |       |
| date_valid       | date               | YES  |        | NULL    |       |
+---------------+---------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
 
mysql> desc modules;
+----------------+--------------+------+-----+---------+-------+
| Field                | Type             | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| id_module         | decimal(5,0)   | NO   | PRI | NULL    |       |
| id_modele         | decimal(5,0)   | NO   | MUL | NULL    |       |
| id_couleur        | decimal(5,0)    | NO   | MUL | NULL    |       |
| Composition      | varchar(100)  | YES  |        | NULL    |       |
| Prix                 | decimal(6,2)    | YES  |       | NULL    |       |
| Dim_hauteur     | decimal(6,2)    | YES  |       | NULL    |       |
| Dim_profondeur | decimal(6,2)    | YES  |       | NULL    |       |
| Dim_largeur       | decimal(6,2)   | YES  |       | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
8 rows in set (0.00 sec)
La table intermédiaire à ces deux tables est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
mysql> desc comporte;
+-----------+--------------+------+-----+---------+-------+
| Field         | Type            | Null    | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id_projet    | decimal(5,0)  | NO    | MUL | NULL    |       |
| id_module   | decimal(5,0) | NO    | MUL  | NULL    |       |
| quantite     | decimal(2,0) | YES   |        | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
Lorsque je tente de faire un insert au niveau de la table comporte, je procède comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
insert into bd_elements_prefab.comporte values(1, 1, 1);
Le problème est qu'il me retourne le code suivant:

Error starting at line 1 in command:
insert into bd_elements_prefab.comporte values(1, 1, 1)
Error at Command Line:1 Column:0
Error report:
SQL Error: Duplicate key or integrity constraint violation message from server: "Cannot add or update a child row: a foreign key constraint fails (`bd_elements_prefab/comporte`, CONSTRAINT `comporte_ibfk_1` FOREIGN KEY (`id_projet`) REFERENCES `projets` (`id_projet`) ON DELETE CASCADE)"
Pourtant, dans mes tables j'ai bien les tuples possédant les clés primaires 1.

Est ce que quelqu'un parmi vous aurait une idée de ce que je pourrais faire afin de pouvoir insérer des tuples dans ma table comporte?

Merci d'avance pour vos conseils et solutions proposées.