it-swarm.it

Definizione PRIMARY KEY nell'istruzione MySQL CREATE TABLE

Qual è la differenza tra questo codice:

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

e questo:

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

codice?

Quindi un'istruzione PRIMARY KEY separata o come parte di una definizione di colonna. Stessa domanda per UNIQUE INDEX e UNIQUE parola chiave nella definizione di colonna.

49
waanders

La seconda sintassi è semplicemente un collegamento che consente di specificare la colonna e aggiungere un indice su di essa in una singola clausola.

Questo funziona bene nei casi in cui si desidera semplicemente creare una colonna e aggiungere un indice su di essa.

Dovrai utilizzare la prima sintassi se vuoi fare qualcosa di più complicato, come aggiungere un indice basato su più colonne anziché una singola colonna, o se stai aggiungendo o modificando un indice su una colonna esistente; cioè, non stai creando la colonna e l'indice su di essa contemporaneamente.

47
thomasrutter

MySQL consente di utilizzare la direttiva PRIMARY KEY per consentire di impostare dinamicamente la chiave primaria. Fornire PRIMARY KEY come argomento per il costruttore può essere chiamato solo durante la creazione della colonna. PRIMARY KEY (X), PRIMARY KEY (Y), PRIMARY KEY (Z) consente di modificare le chiavi primarie nelle query successive.

3
htmldrum

Per come la vedo io è ... Il primo metodo è usato per creare chiavi composite. Mentre il secondo metodo (più leggibile per me) viene utilizzato principalmente se nella tabella è presente solo la chiave primaria.

Il secondo metodo non può essere utilizzato se si desidera implementare la chiave composita

1
user4826347

Esistono molti modi per scuoiare un gatto e sopra 2 esempi ne sono solo 2. Sono identici Non c'è alcuna differenza.

0
Icarus

Sono letteralmente uguali. Ecco un sito veloce che mostra i diversi modi (3) per farlo. http://www.Java2s.com/Code/SQL/Key/Defineanduseprimarykey.htm

0
TIHan