当前位置: 首页 > 知识库问答 >
问题:

MySQL CREATE TABLE语句中的主键定义

松锐藻
2023-03-14

这段代码有什么区别:

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;

密码?

因此是单独的主键语句或作为列定义的一部分。列定义中的唯一索引和唯一关键字的问题相同。

共有2个答案

朱英范
2023-03-14

MySQL允许使用PRIMARY KEY指令来允许您动态设置主键。只能在创建列时调用将主键作为参数提供给构造函数。主键(X)、主键(Y)、主键(Z)允许在后续查询中更改主键。

宋育
2023-03-14

第二种语法只是一种快捷方式,允许您在单个子句中指定列并在其上添加索引。

如果您只是想创建一个列并在其上添加一个索引,那么这种方法非常适用。

如果您想要执行更复杂的操作,例如添加基于多列而不是单个列的索引,或者添加或更改现有列的索引,则需要使用第一种语法;也就是说,您不是同时创建列和列上的索引。

 类似资料: