[英]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.