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