簡體   English   中英

MySQL CREATE TABLE語句中的PRIMARY KEY定義

[英]PRIMARY KEY definition in MySQL CREATE TABLE statement

這段代碼有什么區別:

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

還有這個:

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

碼?

所以單獨的PRIMARY KEY語句或作為列定義的一部分。 列定義中UNIQUE INDEX和UNIQUE關鍵字的相同問題。

第二種語法只是一個快捷方式,允許您指定列並在單個子句中為其添加索引。

如果您只想創建一個列並在其上添加索引,這樣就可以正常工作。

如果要執行更復雜的操作,則需要使用第一種語法,例如,基於多列而不是單列添加索引,或者在現有列上添加或更改索引; 也就是說,您不是同時在其上創建列和索引。

MySQL允許使用PRIMARY KEY指令允許您動態設置主鍵。 提供PRIMARY KEY作為構造函數的參數只能在創建列時調用。 PRIMARY KEY(X),PRIMARY KEY(Y),PRIMARY KEY(Z)允許在后續查詢中更改主鍵。

我看到它的方式是..第一種方法用於創建復合鍵。 雖然表中只有主鍵,但主要使用第二種方法(對我來說更易讀)。

如果要實現組合鍵,則不能使用第二種方法

皮膚貓的方法有很多種,其中2個例子只有2個。 它們完全相同。 沒有區別。

它們字面意思相同。 這是一個快速網站,向您展示了不同的方式(3)。 http://www.java2s.com/Code/SQL/Key/Defineanduseprimarykey.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM