mysql table key,MySQL CREATE TABLE语句中的PRIMARY KEY定义

What's the difference between this code:

CREATE TABLE samples (

sampleid INT(11) NOT NULL AUTO_INCREMENT,

sampledate DATE NOT NULL,

location VARCHAR(25) NOT NULL,

PRIMARY KEY (sampleid)

)

ENGINE=InnoDB;

and this:

CREATE TABLE samples (

sampleid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,

sampledate DATE NOT NULL,

location VARCHAR(25) NOT NULL,

)

ENGINE=InnoDB;

code?

So a separate PRIMARY KEY statement or as part of a column definition. Same question for UNIQUE INDEX and UNIQUE keyword in column definition.

解决方案

The second syntax is merely a shortcut allowing you to specify the column and add an index on it in a single clause.

This works out fine in cases where you simply want to create a column and add an index on it.

You'll need to use the first syntax if you want to do something more complicated, such as adding an index based on multiple columns rather than a single column, or if you are adding or changing an index on an existing column; that is, you are not creating the column and the index on it at the same time.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值