PRIMARY KEY 可以简写成 KEY 是吗?

PRIMARY KEY 可以简写成 KEY 是吗?

PRIMARY KEY 可以简写成 KEY 是吗?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,

  1. key 是数据库的物理结构,它包含两层意义和作用,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的)。包括primary key, unique key, foreign key 等。

  2. PRIMARY KEY 有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个主键索引。PRIMARY KEY约束:

    1. 唯一标识数据库表中的每条记录;

    2. 主键必须包含唯一的值;

    3. 主键列不能包含 NULL 值;

    4. 每个表都应该有一个主键,并且每个表只能有一个主键。(PRIMARY KEY 拥有自动定义的 UNIQUE 约束)。

  3. 所以PRIMARY KEY不能简写成KEY。

祝学习愉快!

  • a_agiao 提问者 #1
    那么当没有primary key的时候,key会自动转为primary key ?我测试发现key变成了primary key,源码写下面了
    2019-06-11 11:02:03
  • 好帮手慕小尤 回复 提问者 a_agiao #2
    同学你好,Key可能会有4种值,即'啥也没有','PRI','UNI','MUL'。 1. 如果Key是空的, 那么该列值的可以重复,表示该列没有索引, 或者是一个非唯一的复合索引的非前导列。 2. 如果Key是PRI, 那么该列是主键的组成部分。 3. 如果Key是UNI, 那么该列是一个唯一值索引的第一列(前导列),且不能含有空值(NULL)。 4. 如果Key是MUL, 那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL。5. 具体内容请参考:https://www.cnblogs.com/zjfjava/p/6922494.html 祝学习愉快!
    2019-06-11 11:20:14
  • a_agiao 提问者 回复 好帮手慕小尤 #3
    老师,麻烦帮我讲一下,为什么建表时直接写的KEY(上面源码第2行,和第8行效果一样),并没有指定PRIMARY KEY,创建完成后查看建表语句 `id` 就变成了主键PRIMARY KEY (`id`)
    2019-06-11 11:43:33
提问者 a_agiao 2019-06-11 11:04:08
CREATE TABLE IF NOT EXISTS test_primary_key(
`id` TINYINT UNSIGNED AUTO_INCREMENT KEY,
`username` VARCHAR(10) NOT NULL
);


CREATE TABLE IF NOT EXISTS test_primary_key1(
`id` TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(10) NOT NULL
);


CREATE TABLE IF NOT EXISTS test_primary_key2(
`id` TINYINT UNSIGNED AUTO_INCREMENT UNIQUE KEY,
`username` VARCHAR(10) NOT NULL
);


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师