mysql怎么添加复合主键?


本文摘自PHP中文网,作者青灯夜游,侵删。

在mysql中可以在创建表时添加复合主键,其语法规则是“PRIMARY KEY [字段1,字段2,…,字段n]”,表示主键由多个字段联合组成。

主键约束即在表中定义一个主键来唯一确定表中每一行数据的标识符。主键可以是表中的某一列或者多列的组合,其中由多列组合的主键称为复合主键。

复合主键不能包含不必要的多余列。当把复合主键的某一列删除后,如果剩下的列构成的主键仍然满足唯一性原则,那么这个复合主键是不正确的。这是最小化原则。

如何添加复合主键?

可以在创建表时添加复合主键,此时主键由多个字段联合组成,语法规则如下:

1

PRIMARY KEY [字段1,字段2,…,字段n]

示例:创建数据表 tb_emp,假设表中没有主键 id,为了唯一确定一个员工,可以把 name、deptId 联合起来作为主键

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

mysql> CREATE TABLE tb_emp

    -> (

    -> name VARCHAR(25),

    -> deptId INT(11),

    -> salary FLOAT,

    -> PRIMARY KEY(id,deptId)

    -> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp;

+--------+-------------+------+-----+---------+-------+

| Field  | Type        | Null | Key | Default | Extra |

+--------+-------------+------+-----+---------+-------+

| name   | varchar(25) | NO   | PRI | NULL    |       |

| deptId | int(11)     | NO   | PRI | NULL    |       |

| salary | float       | YES  |     | NULL    |       |

+--------+-------------+------+-----+---------+-------+

3 rows in set (0.14 sec)

以上就是mysql怎么添加复合主键?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

mysql的事务,隔离级别和锁用法实例分析

mysql架构组件是什么

mysql数据库多表操作

mysql 8.0.22 安装配置图文教程

mysql实现查询结果导出csv文件及导入csv文件到数据库操作_mysql

mysql中utf8和utf8mb4之间的区别有哪些?

mysql约束概述

php中json数据如何存储到mysql

mysql密码遗忘怎么办

通过mysql 转换null数据方法

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...