{MySQL} Pb lors de la création d'une table MySQL
RésoluA voir également:
- {MySQL} Pb lors de la création d'une table MySQL
- Table ascii - Guide
- Mysql community server - Télécharger - Bases de données
- Table des matières word - Guide
- Creation compte gmail - Guide
- Creation de compte google - Guide
6 réponses
Bonjour,
je commence par les remarques :
-il est inutile de signaler au niveau de la table CATEGORY que CATEGORY_ID est unique étant donné que c'est une clé primaire.
-même remarque que précedemment pour la table BATIMENT et la clé primaire BATIMENT_ID
-même remarque pour la contrainte not null qui est implicite dans le cas des clé primaires.
-je n'ai pas compris le but de l'utilisation de index(CATEGORY_ID) ???
Pour le problème il est du à la non déclaration du champs CATEGORY_ID dans la table BATIMENT .
Essaye ça :
je commence par les remarques :
-il est inutile de signaler au niveau de la table CATEGORY que CATEGORY_ID est unique étant donné que c'est une clé primaire.
-même remarque que précedemment pour la table BATIMENT et la clé primaire BATIMENT_ID
-même remarque pour la contrainte not null qui est implicite dans le cas des clé primaires.
-je n'ai pas compris le but de l'utilisation de index(CATEGORY_ID) ???
Pour le problème il est du à la non déclaration du champs CATEGORY_ID dans la table BATIMENT .
Essaye ça :
create table BATIMENT ( BATIMENT_ID integer auto_increment, Batiment_Name varchar(100) binary not null unique, Batiment_Description varchar(200) binary, CATEGORY_ID integer, Constraint pk_batiment primary key (BATIMENT_ID), FOREIGN KEY (CATEGORY_ID) REFERENCES CATEGORY (CATEGORY_ID) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE = InnoDB;
Dans la table "BATIMENT", en ajoutant la ligne "CATEGORY_ID integer not null," avant "INDEX (CATEGORY_ID)" je n'obtiens plus d'erreur.
Merci b wjaouadi. Précédemment, j'étais en train de m'apporter une réponse au même moment que toi.
Tes précisions sur mes lignes inutiles vont bien m'aider pour mieux coder.
Concernant le but de l'utilisation de index(CATEGORY_ID), en fait j'ai lu que l'ajout d'INDEX est pertinent sur :
- les champs utilisés pour les clés étrangères (ON ... = ...)
- les champs sur lesquels des tris sont très souvent utilisés (ORDER BY ...)
- les champs sur lesquels des filtres sont très souvent utilisés (WHERE ...)
alors je me suis dis que quand on déclare une clé étrangère, il vaut mieux créer un index pour accélérer les requêtes de lecture de la table mais je dois me tromper. Est-ce que je peux avoir ton avis dessus ?
Tes précisions sur mes lignes inutiles vont bien m'aider pour mieux coder.
Concernant le but de l'utilisation de index(CATEGORY_ID), en fait j'ai lu que l'ajout d'INDEX est pertinent sur :
- les champs utilisés pour les clés étrangères (ON ... = ...)
- les champs sur lesquels des tris sont très souvent utilisés (ORDER BY ...)
- les champs sur lesquels des filtres sont très souvent utilisés (WHERE ...)
alors je me suis dis que quand on déclare une clé étrangère, il vaut mieux créer un index pour accélérer les requêtes de lecture de la table mais je dois me tromper. Est-ce que je peux avoir ton avis dessus ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question