X
活动推荐

阿里云高性能云主机2折293元/年

企业级性能云服务器限时2折起
新用户5折爆款服务器会场
查看详情 293元/年
阅读模式:

mysql表的联合主键

查看:9573  回复: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 1

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

扫描二维码手机查看

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

发布评论:


登录:
  表情:
评论话题
推荐阅读:
php翻转字符串   阅读:2228php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:6339给php7安装redis扩展库   阅读:6549简单的DOS攻击之死亡之ping详解   阅读:36213php压缩页面的html代码一行显示   阅读:5729什么是天使轮?什么是A轮融资?B轮融资?   阅读:3242一步步带你,如何网站架构   阅读:3269php 读取和设置redis的键值   阅读:6107mysql的四种索引类型   阅读:16641什么是天使轮?什么是A轮融资?B轮融资?   阅读:3242centos7开启交换内存   阅读:8635比phpexcel还要简单的excel CSV 一键导入数据到数据库   阅读:4123php显示刚刚、几分钟前、几小时前、几天前的函数   阅读:6339给php7安装redis扩展库   阅读:6549十张GIF让你弄懂递归等概念   阅读:4907Mysql在大型网站的应用架构演变   阅读:3677Nginx 配置文件详解   阅读:3719centos7开启交换内存   阅读:8635centos 7 安装 mysql-5.7   阅读:4940移动端自适应rem原理   阅读:8255最简单的Banner轮播左右切换效果代码及实现思路(附带源码)   阅读:26444linux top命令详解   阅读:7169linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:12437php 获取当前前后年、月、星期、日、时分秒的时间   阅读:5149php+redis实现消息队列   阅读:10496mysql 为什么添加索引可以提高访问速度   阅读:4922php设置cookie为HttpOnly防止XSS攻击   阅读:9983web项目高并发量网站解决方案   阅读:3660crontab+shell脚本实现定时备份mysql数据库   阅读:5918mysql共享锁和排他锁详解   阅读:5797php swoole搭建简单的聊天室   阅读:1731centos 7 设置 nginx-1.11.10 开机启动   阅读:6750最新centos7 搭建LNMP环境(centos7.2+php7+mysql5.7+nginx1.11+redis3.2)   阅读:8992一步步带你,如何网站架构   阅读:3269centos 7 修改系统屏幕分辨率   阅读:35679shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:7120php打印九九加法表   阅读:7684程序员找工作三要素(必看)   阅读:4641php连接redis   阅读:4527mysql中文分词全文搜索索引讯搜的安装   阅读:5364centos 7 安装 php-7.1.3   阅读:15809给php7安装redis扩展库   阅读:6549javascript获取两个日期间的所有日期   阅读:4834centos7开启交换内存   阅读:8635mysql数据一键导出到csv文件   阅读:4466什么是天使轮?什么是A轮融资?B轮融资?   阅读:3242mysql的四种索引类型   阅读:16641移动端js触摸touch详解(附带案例源码)   阅读:13357程序员找工作三要素(必看)   阅读:4641session与cookie的区别   阅读:3333