52 votes

Définition PRIMARY KEY dans l'instruction MySQL CREATE TABLE

Quelle est la différence entre ce code :

 CREATE TABLE samples (
  sampleid INT(11) NOT NULL AUTO_INCREMENT,
  sampledate DATE NOT NULL,
  location VARCHAR(25) NOT NULL,
  PRIMARY KEY (sampleid)
)
ENGINE=InnoDB;

et ça:

 CREATE TABLE samples (
  sampleid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  sampledate DATE NOT NULL,
  location VARCHAR(25) NOT NULL,
)
ENGINE=InnoDB;

code?

Donc, une instruction PRIMARY KEY séparée ou dans le cadre d'une définition de colonne. Même question pour UNIQUE INDEX et UNIQUE mot-clé dans la définition de colonne.

3voto

htmldrum Points 688

MySQL autorise utilise la directive PRIMARY KEY pour vous permettre de définir la clé primaire de manière dynamique. La fourniture de PRIMARY KEY comme argument au constructeur ne peut être appelée que lors de la création de la colonne. PRIMARY KEY(X), PRIMARY KEY(Y), PRIMARY KEY(Z) permet de modifier les clés primaires lors des requêtes suivantes.

1voto

user4826347 Points 725

La façon dont je le vois est .. La première méthode est utilisée pour créer des clés composites. Alors que la deuxième méthode (plus lisible pour moi) est principalement utilisée s'il n'y a qu'une clé primaire dans la table.

La deuxième méthode ne peut pas être utilisée si vous souhaitez implémenter une clé composite

0voto

Icarus Points 36951

Il existe de nombreuses façons de dépecer un chat et les exemples ci-dessus ne sont que deux. Ils sont identiques. Il n'y a pas de différence.

0voto

TIHan Points 612

Ils sont littéralement les mêmes. Voici un site rapide qui vous montre les différentes manières (3) de le faire. http://www.java2s.com/Code/SQL/Key/Defineanduseprimarykey.htm

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X