Bonjour,
Je rencontre un problème à la création d'une nouvelle table :
Donc l'erreur est : "ERROR 1005 (HY000): Can't create table 'bdd_cuisine.commandes' (errno: 150)"
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | bdd_cuisine | +--------------------+ 2 rows in set (0.00 sec) mysql> SHOW TABLES; +-----------------------+ | Tables_in_bdd_cuisine | +-----------------------+ | client | | plats | +-----------------------+ 2 rows in set (0.00 sec) mysql> CREATE TABLE bdd_cuisine.commandes (id INT(11) NOT NULL AUTO_INCREMENT,id_client INT(11) NOT NULL, id_plat INT(11) NOT NULL, qte INT(11) NOT NULL, PRIMARY KEY(id), FOREIGN KEY(id_client) REFERENCES bdd_cuisine.client, FOREIGN KEY (id_plat) REFERENCES bdd_cuisine.plats) ENGINE = INNODB; ERROR 1005 (HY000): Can't create table 'bdd_cuisine.commandes' (errno: 150) mysql> SHOW COLUMNS FROM client; +------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | nom | varchar(25) | NO | | NULL | | | prenom | varchar(15) | NO | | NULL | | | adresse | varchar(100) | NO | | NULL | | | ville | varchar(30) | NO | | NULL | | | mail | varchar(70) | NO | UNI | NULL | | | tel1 | varchar(10) | NO | | NULL | | | tel2 | varchar(10) | NO | | NULL | | | date_inscription | datetime | NO | | NULL | | +------------------+--------------+------+-----+---------+----------------+ 9 rows in set (0.00 sec) mysql> SHOW COLUMNS FROM plats; +---------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | designation | varchar(60) | NO | UNI | NULL | | | prix_u | decimal(8,2) | NO | | NULL | | | comments | varchar(500) | YES | | NULL | | | date_creation | datetime | NO | | NULL | | +---------------+--------------+------+-----+---------+----------------+
Je me suis renseigné sur les forums et il est dit par qi130 ici que
Donc en ce qui me concerne, mes tables sont toutes en INNODB, les colonnes sont du même type INT(11) et par contre je ne comprends pas l'histoire de l'index ....Il faut un index sur la colonne source (dans fiche_stage) et un autre sur la colonne cible (dans eleve_stage) s'il n'existe pas déjà.
Les 2 tables doivent être en INNODB.
Les 2 colonnes doivent être du même type.
Merci pour vos aides !!!
Partager