bonjour!
j'ai écrit un script SQL avec un éditeur texte et je l'ai enregistré en .sql. le problème c'est que dans la console DOS, lorsque je charge le script, il ne veut pas créer certaines tables...
je dispose de EasyPHP 1-8 (version la plus récente je pense).
voici le message d'erreur :" ERROR 1005 <HY000> at line 64: Ne peut creer la table '.\groupe16_db\vehicule.frm' <Errcode: 150> "
voilà le script utilisé:
USE groupe16_db;
DROP TABLE IF EXISTS client_particulier;
DROP TABLE IF EXISTS client_societe;
DROP TABLE IF EXISTS conducteur_associe;
DROP TABLE IF EXISTS conducteur;
DROP TABLE IF EXISTS contrat;
DROP TABLE IF EXISTS vehicule;
DROP TABLE IF EXISTS modele;
DROP TABLE IF EXISTS categorie;
DROP TABLE IF EXISTS client;
CREATE TABLE categorie (id_categorie CHAR(1) NOT NULL, prix_jour DOUBLE NOT NULL, prix_km DOUBLE NOT NULL, PRIMARY KEY (id_categorie)) TYPE=INNODB;
CREATE TABLE client (id_client INT NOT NULL,
PRIMARY KEY (id_client)
)
TYPE=INNODB;
CREATE TABLE client_particulier (id_client INT NOT NULL,
nom VARCHAR(50) NOT NULL,
prenom VARCHAR(50) NOT NULL,
adresse VARCHAR(100),
telephone VARCHAR(15),
PRIMARY KEY (id_client),
FOREIGN KEY (id_client) REFERENCES client(id_client)
)
TYPE=INNODB;
CREATE TABLE client_societe (id_client INT NOT NULL,
nom VARCHAR(50) NOT NULL,
TVA VARCHAR(20) NOT NULL,
adresse VARCHAR(100),
PRIMARY KEY (id_client),
FOREIGN KEY (id_client) REFERENCES client(id_client)
)
TYPE=INNODB;
CREATE TABLE conducteur (num_permis VARCHAR(15) NOT NULL,
date DATE,
nom VARCHAR(50) NOT NULL,
prenom VARCHAR(50),
PRIMARY KEY (num_permis)
)
TYPE=INNODB;
CREATE TABLE modele (id_modele VARCHAR(15) NOT NULL,
marque VARCHAR(15) NOT NULL,
nb_places INT,
carburant VARCHAR(7),
cylindree INT,
puissance INT,
id_categorie CHAR(1) NOT NULL,
PRIMARY KEY (id_modele,marque),
FOREIGN KEY (id_categorie) REFERENCES categorie(id_categorie)
)
TYPE=INNODB;
CREATE TABLE vehicule (id_vehicule INT NOT NULL,
annee INT(4),
id_modele VARCHAR(15) NOT NULL,
marque VARCHAR(15) NOT NULL,
plaque VARCHAR(6) NOT NULL,
PRIMARY KEY (id_vehicule),
FOREIGN KEY (id_modele) REFERENCES modele(id_modele),
FOREIGN KEY (marque) REFERENCES modele(marque)
)
TYPE=INNODB;
CREATE TABLE contrat (id_contrat INT NOT NULL,
id_vehicule INT NOT NULL,
id_client INT NOT NULL,
date_debut DATE,
date_fin DATE,
kms_debut INT,
kms_fin INT,
prix DOUBLE,
PRIMARY KEY (id_contrat),
FOREIGN KEY (id_client) REFERENCES client(id_client),
FOREIGN KEY (id_vehicule) REFERENCES vehicule(id_vehicule)
)
TYPE=INNODB;
CREATE TABLE conducteur_associe (id_contrat INT NOT NULL,
num_permis VARCHAR(15) NOT NULL,
PRIMARY KEY (id_contrat,num_permis),
FOREIGN KEY (id_contrat) REFERENCES contrat(id_contrat),
FOREIGN KEY (num_permis) REFERENCES conducteur(num_permis)
)
TYPE=INNODB;
LOAD DATA LOCAL INFILE 'categorie.txt' INTO TABLE categorie;
LOAD DATA LOCAL INFILE 'client.txt' INTO TABLE client;
LOAD DATA LOCAL INFILE 'client_particulier.txt' INTO TABLE client_particulier;
LOAD DATA LOCAL INFILE 'client_societe.txt' INTO TABLE client_societe;
LOAD DATA LOCAL INFILE 'conducteur.txt' INTO TABLE conducteur;
LOAD DATA LOCAL INFILE 'conducteur_associe.txt' INTO TABLE conducteur_associe;
LOAD DATA LOCAL INFILE 'contrat.txt' INTO TABLE contrat;
LOAD DATA LOCAL INFILE 'modele.txt' INTO TABLE modele;
LOAD DATA LOCAL INFILE 'vehicule.txt' INTO TABLE vehicule;
Partager