Bonjour,
Je ne suis pas spécialiste de mysql et je trouve quelque chose de surprenant.
Soit le script suivant qui fonctionne :
Quand je fais un dump de ma base, je trouve ceci :
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 drop database if exists testfk; create database testfk; use testfk; create table proprietaire ( id integer auto_increment, nom varchar(50) not null, constraint pk_proprietaire primary key (id)) engine=innodb; create table voiture ( id integer auto_increment, marque varchar(50) not null, idproprietaire integer not null, constraint pk_voiture primary key (id), constraint fk_voiture_proprietaire foreign key (idproprietaire) references proprietaire(id) )engine=innodb;
Que signifie la clause KEY `fk_voiture_proprietaire` (`idproprietaire`), que je n'ai jamais vue par ailleurs ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE `voiture` ( `id` int(11) NOT NULL AUTO_INCREMENT, `marque` varchar(50) NOT NULL, `idproprietaire` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `fk_voiture_proprietaire` (`idproprietaire`), CONSTRAINT `fk_voiture_proprietaire` FOREIGN KEY (`idproprietaire`) REFERENCES `proprietaire` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Quelle influence a t-elle sur la BD ?
Merci pour vos réponse?
Partager