Bonjour tous le monde,

J'ai créé ma base de donnée pour mon projet web mais celle ci me retourne quelque erreurs que je ne comprend pas.

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
-- base de donnée : 'livreokaz'
--
SET FOREIGN_KEY_CHECKS =0;
-- DROP DATABASE livreokaz;
CREATE DATABASE IF NOT EXISTS livrokaz DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE livrokaz;
 
-- -----------------------------------------------------------------------------------------
 
--
-- structure de la table : 'client'
--
DROP TABLE IF EXISTS CLIENT;
CREATE TABLE CLIENT (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	nom varchar(30) NOT NULL,
	prenom varchar(30) NOT NULL,
	adresse varchar(200) NOT NULL,
	mail varchar(30) NOT NULL,
	password varchar(50) NOT NULL,
	profil int NOT NULL,
	KEY idx_profil (profil)
)ENGINE=InnoDB;
 
--
-- structure de la table : 'auteur'
--
DROP TABLE IF EXISTS AUTEUR;
CREATE TABLE AUTEUR (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	nom varchar(60) NOT NULL,
	prenom varchar(60) NOT NULL
)ENGINE=InnoDB;
 
--
-- structure de la table : 'editeur'
--
DROP TABLE IF EXISTS EDITEUR;
CREATE TABLE EDITEUR (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	libelle varchar(60) NOT NULL
)ENGINE=InnoDB;
 
--
-- structure de la table : format_livre
--
DROP TABLE IF EXISTS FORMAT_LIVRE;
CREATE TABLE FORMAT_LIVRE (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	libelle VARCHAR(50) NOT NULl
)ENGINE=InnoDB;
 
--
-- structure de la table : 'genre'
-- 
DROP TABLE IF EXISTS GENRE;
CREATE TABLE GENRE (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	libelle varchar(200) NOT NULL
)ENGINE=InnoDB;
 
--
-- structure de la table : 'commande'
--
DROP TABLE IF EXISTS COMMANDE;
CREATE TABLE COMMANDE (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	date_commande date NOT NULL,
	total_commande double NOT NULL,
	client INT NOT NULL,
	ligne_de_commande INT NOT NULL,
	KEY idx_client (client),
	KEY idx_ligne_de_commande (ligne_de_commande)
)ENGINE=InnoDB;
 
--
-- structure de la table : 'profil'
--
DROP TABLE IF EXISTS PROFIL;
CREATE TABLE PROFIL (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	libelle varchar(100) NOT NULl
)ENGINE=InnoDB;
 
--
-- structure de la table : 'ligne de commande'
--
DROP TABLE IF EXISTS LIGNE_DE_COMMANDE;
CREATE TABLE LIGNE_DE_COMMANDE (
	livre INT NOT NULL,
	commande INT NOT NULL,
	quantite INT NOT NULL,
	PRIMARY KEY idx_livre_commande (livre, commande)
)ENGINE=InnoDB;
 
--
-- structure de la table : 'ecrivain'
--
DROP TABLE IF EXISTS ECRIVAIN;
CREATE TABLE ECRIVAIN (
	auteur INT NOT NULL,
	livre INT NOT NULL,
	PRIMARY KEY idx_auteur_livre (auteur, livre)
)ENGINE=InnoDB;
 
--
-- structure de la table : 'livre'
--
DROP TABLE IF EXISTS LIVRE;
CREATE TABLE LIVRE (
	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	titre VARCHAR(150) NOT NULL,
	isbn varchar(20) NOT NULL,  
	image VARCHAR(200) NOT NULL,
	sujet_livre VARCHAR(100) NOT NULL,
	description text NOT NULL,
	annee_parution 	YEAR NOT NULL,
	prix_neuf DOUBLE NOT NULL,
	prix_occasion_physique DOUBLE NOT NULL,
	prix_numerique DOUBLE NOT NULL,
	quantite INT NOT NULL,
	langue VARCHAR(25),
	telechargement BOOLEAN,
	editeur INT NOT NULL,
	ecrivain INT NOT NULL,
	genre INT NOT NULL,
	KEY idx_editeur (editeur),
	KEY idx_ecrivain (ecrivain),
	KEY idx_genre (genre)
)ENGINE=InnoDB;
 
--
-- structure de la table : 'support'
--
DROP TABLE IF EXISTS SUPPORT;
CREATE TABLE SUPPORT (
	livre INT NOT NULL,
	format_livre INT NOT NULL,
	PRIMARY KEY idx_livre_format (livre, format_livre)
)ENGINE=InnoDB;
 
--
-- relation entre les tables 
--
ALTER TABLE CLIENT ADD CONSTRAINT fk_profil FOREIGN KEY (profil) REFERENCES profil (id);
 
ALTER TABLE COMMANDE ADD CONSTRAINT fk_client FOREIGN KEY (client) REFERENCES client (id);
 
ALTER TABLE LIGNE_DE_COMMANDE ADD CONSTRAINT fk_livre FOREIGN KEY (livre) REFERENCES livre (id);
ALTER TABLE LIGNE_DE_COMMANDE ADD CONSTRAINT fk_commande FOREIGN KEY (commande) REFERENCES commande (id);
 
ALTER TABLE ECRIVAIN ADD CONSTRAINT fk_auteur FOREIGN KEY (auteur) REFERENCES auteur (id);
ALTER TABLE ECRIVAIN ADD CONSTRAINT fk_livre FOREIGN KEY (livre) REFERENCES livre (id);
 
ALTER TABLE LIVRE ADD CONSTRAINT fk_editeur FOREIGN KEY (editeur) REFERENCES editeur (id);
ALTER TABLE LIVRE ADD CONSTRAINT fk_genre FOREIGN KEY (genre) REFERENCES genre (id);
 
ALTER TABLE SUPPORT ADD CONSTRAINT fk_livre FOREIGN KEY (livre) REFERENCES livre (id);
ALTER TABLE SUPPORT ADD CONSTRAINT fk_format FOREIGN KEY (format_livre) REFERENCES format_livre (id);
 
SET FOREIGN_KEY_CHECKS	 =1;
Lors de l'exécution la console MYSQL me dit que les contrainte pour la table support et la table écrivain ne peuvent pas être créer.

Si quelqu’un peut me donner un coup de main ce serait cool.
Merci d'avance.