disponible
tinyint(1)
YES
1
Les colonnes mere_id et pere_id de la requête SELECT ne correspondaient à aucune colonne définie par la commande
CREATE TABLE. Ces colonnes ont donc été créées dans la nouvelle table, mais leur type a été déduit à partir du SELECT.
Quant aux colonnes maman_id et papa_id , elles ont bien été créées bien qu'elles ne correspondent à rien dans la sélection. Elles
ne contiendront simplement aucune donnée.
Voyons maintenant le contenu d'Animal_copy.
Code : SQL
SELECT maman_id, papa_id, id, sexe, nom, espece_id, mere_id, pere_id
FROM Animal_copy;
maman_id papa_id id sexe nom espece_id mere_id pere_id
NULL
NULL 69 F
Baba 5
NULL
NULL
NULL
NULL 70 M
Bibo
5
72
73
NULL
NULL 72 F
Momy 5
NULL
NULL
NULL
NULL 73 M
Popi
5
NULL
NULL
NULL
NULL 75 F
Mimi 5
NULL
NULL
Les données sont dans les bonnes colonnes, et les colonnes maman_id et papa_id sont vides, contrairement à mere_id et
pere_id .
Une conséquence intéressante de ce comportement est qu'il est tout à fait possible de préciser le type et les attributs pour une
partie des colonnes uniquement.
Exemple : Recréation d'Animal_copy. Cette fois on ne précise le type et les attributs que de la colonne id et on ajoute un index
sur nom.
Code : SQL
DROP TABLE Animal_copy;
CREATE TEMPORARY TABLE Animal_copy (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
INDEX (nom(10))
) ENGINE=InnoDB
SELECT *
FROM Animal
WHERE espece_id = 5;
DESCRIBE Animal_copy;
Field
Type
Null Key Default
Extra
id
int(10) unsigned
NO PRI
NULL auto_increment
sexe
char(1)
YES
NULL
date_naissance datetime
NO
NULL
nom
varchar(30)
YES MUL NULL
commentaires
text
YES
NULL
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
362/414
www.openclassrooms.com
tinyint(1)
YES
1
Les colonnes mere_id et pere_id de la requête SELECT ne correspondaient à aucune colonne définie par la commande
CREATE TABLE. Ces colonnes ont donc été créées dans la nouvelle table, mais leur type a été déduit à partir du SELECT.
Quant aux colonnes maman_id et papa_id , elles ont bien été créées bien qu'elles ne correspondent à rien dans la sélection. Elles
ne contiendront simplement aucune donnée.
Voyons maintenant le contenu d'Animal_copy.
Code : SQL
SELECT maman_id, papa_id, id, sexe, nom, espece_id, mere_id, pere_id
FROM Animal_copy;
maman_id papa_id id sexe nom espece_id mere_id pere_id
NULL
NULL 69 F
Baba 5
NULL
NULL
NULL
NULL 70 M
Bibo
5
72
73
NULL
NULL 72 F
Momy 5
NULL
NULL
NULL
NULL 73 M
Popi
5
NULL
NULL
NULL
NULL 75 F
Mimi 5
NULL
NULL
Les données sont dans les bonnes colonnes, et les colonnes maman_id et papa_id sont vides, contrairement à mere_id et
pere_id .
Une conséquence intéressante de ce comportement est qu'il est tout à fait possible de préciser le type et les attributs pour une
partie des colonnes uniquement.
Exemple : Recréation d'Animal_copy. Cette fois on ne précise le type et les attributs que de la colonne id et on ajoute un index
sur nom.
Code : SQL
DROP TABLE Animal_copy;
CREATE TEMPORARY TABLE Animal_copy (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
INDEX (nom(10))
) ENGINE=InnoDB
SELECT *
FROM Animal
WHERE espece_id = 5;
DESCRIBE Animal_copy;
Field
Type
Null Key Default
Extra
id
int(10) unsigned
NO PRI
NULL auto_increment
sexe
char(1)
YES
NULL
date_naissance datetime
NO
NULL
nom
varchar(30)
YES MUL NULL
commentaires
text
YES
NULL
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
362/414
www.openclassrooms.com
