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怎么添加复合主键?的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

php连接mysql数据库方法简化版

eclipse怎么导入mysql的jar包

代码详解mysql中关于事务的处理

mysql数据库三种常用存储引擎特性对比

mysql数据如何设置不重复

mysql中创表语句的写法是什么?

mysql优化的几种方法

实例详解阿里云下配置mysql远程连接步骤

《阿里巴巴java开发手册》里面写超过三张表禁止join,这是为什么?

windows下mysql5.7.21安装详细教程

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


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

数据库系统概念 第6版

机械工业出版社

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



打赏

取消

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

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

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

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

评论

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

    正在狠努力加载,请稍候...