阅读模式:

mysql表的联合主键

查看:2932  回复:2  类型:  来源:php自学网  标签 mysql

        mysql表的联合主键是由表的多列字段值的拼接成的主键,来形成唯一性。和以往单个列的普通主键如id(自增长)的区别一个字段主键和多个字段的区别。

        如果一个表有id,name,sex三个字段,那普通主键表的主键为id值区分唯一性。联合主键为id+name值来区别唯一性,或id+name+sex拼接的值来区分唯一性。

        联合主键的设置:

            1.新建表的设置

create table test(
    id int(10) not null auto_increment,
    name varchar(20) not null,
    sex int(1) not null,
    primary key (id,name,sex)
);

mysql复合主键.png

        2.已有表修改为复合主键

alter table 表名 add primary key (字段1,字段2,字段3);

 *如果执行上面操作提示表不能有多个主键错误时,需要先清理主键约束,再执行添加。

alter table 表名 DROP PRIMARY KEY add primary key (字段1,字段2,字段3);

        3.适用场景举例

            如在一个商城的订单表中订单流水编号时唯一的,当同单个人购买多个不同物品时就需要用到联合主键(id+name+订单id)了。

        复合主键的:

            复合主键与联合主键的设置基本一样,共同点在于都是通过多个字段确定主键,区别是联合主键通过如id+name+sex等字段确定主键,并且自增id有和其他表有id关联;复合主键不需要自增id,即如name+sex字段确定唯一形成主键,一般在数据上报等情况数据不能重复数据时使用。

分享到:
0 0

*有问题之处烦请在评论中指出非常感谢!
不是我想要的内容,继续搜索:

扫描二维码手机查看

最新评论:
怡小宝  发表于 1月前  中国广东深圳电信
沙发
大哥你说的是联合主键啊 , 回复
站长 回复 怡小宝 感谢指出错误,已调整。
2018-08-25 09:01 中国广东深圳电信 回复
回复:[主题]
表情:
 提交评论
清空

发布评论:


登录:
  表情:
评论话题
推荐阅读:
关于PHP程序员技术职业生涯规划   阅读:30用php从1加到100的值   阅读:4563最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:6110centos 7.2 添加php7 的 php-fpm 开机启动   阅读:12706Mysql在大型网站的应用架构演变   阅读:2393centos 7.2 添加php7 的 php-fpm 开机启动   阅读:12706一步步带你,如何网站架构   阅读:1987centos7开启交换内存   阅读:4501浅谈javascript的函数节流   阅读:2085Nginx 配置文件详解   阅读:2272网站局部小图片优化-base64编码图片   阅读:4298centos 7 设置 nginx-1.11.10 开机启动   阅读:4185centos 7搭建zabbix3.4   阅读:1844关于PHP程序员技术职业生涯规划   阅读:30linux php7编译安装mongodb扩展   阅读:3396网站性能优化-页面静态缓存   阅读:2790php文件下载防盗链   阅读:4833PHP 鸟哥:我也曾经是“不适合”编程的人   阅读:4065php 统计网页打开耗时和脚本运行内存   阅读:3349网站局部小图片优化-base64编码图片   阅读:4298centos7开启交换内存   阅读:4501面试的时候和你谈理想,是理想or入坑?   阅读:3785小米手机端商城rem适配原理   阅读:4003linux php7安装yaf扩展   阅读:3192Mysql在大型网站的应用架构演变   阅读:2393linux时间戳有趣的情人节秒1234567890   阅读:2475session与cookie的区别   阅读:2119解决 nginx 413 request entity too large   阅读:2116linux时间戳有趣的情人节秒1234567890   阅读:2475Mysql在大型网站的应用架构演变   阅读:2393HTTP 1.1 协议详解   阅读:3213centos7.3安装mongodb3.6   阅读:3776mysql中文分词全文搜索索引讯搜的安装   阅读:3032mysql数据库性能的基本优化   阅读:2451centos7.3安装mongodb3.6   阅读:3776用php从1加到100的值   阅读:4563centos 7 安装 nginx-1.11.10   阅读:4331Mysql在大型网站的应用架构演变   阅读:2393phpexcel 超简单从excel表格一键导入数据到数据库教程   阅读:7096HTTP 1.1 协议详解   阅读:3213php生成二维码   阅读:2728php 生成图片,给图片加水印   阅读:3183mysql的四种索引类型   阅读:7000php 统计网页打开耗时和脚本运行内存   阅读:3349浅谈javascript的函数节流   阅读:2085比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:2468什么是天使轮?什么是A轮融资?B轮融资?   阅读:1690面试都会问你为什么你从上一家公司离职的真实意思   阅读:5593mysql 为什么添加索引可以提高访问速度   阅读:2962shell发送邮件脚本   阅读:1242