Bonjour,

Je ne suis pas spécialiste de mysql et je trouve quelque chose de surprenant.
Soit le script suivant qui fonctionne :
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;
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
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;
Que signifie la clause KEY `fk_voiture_proprietaire` (`idproprietaire`), que je n'ai jamais vue par ailleurs ?
Quelle influence a t-elle sur la BD ?
Merci pour vos réponse?