阅读模式:

mysql表的联合主键

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

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

扫描二维码手机查看

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

发布评论:


登录:
  表情:
评论话题
推荐阅读:
crontab+shell脚本实现定时备份mysql数据库   阅读:3753centos 7.2 添加php7 的 php-fpm 开机启动   阅读:14316最简单的Banner轮播淡入淡出效果代码及实现思路(附带源码)   阅读:8990shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:5193centos 7 安装 redis 3.2.9   阅读:3806centos 7 开启网络   阅读:3111linux php7安装yaf扩展   阅读:3981给网站添加一键新浪微博登录的功能   阅读:4178php打印九九加法表   阅读:5090centos 7 安装 php-7.1.3   阅读:11760php文件下载防盗链   阅读:5552面试都会问你为什么你从上一家公司离职的真实意思   阅读:6686centos 7 安装 php-7.1.3   阅读:11760nginx安装mysql和json模块   阅读:231mysql数据一键导出到csv文件   阅读:3142nginx编译安装后对nginx进行平滑升级   阅读:2119人性漫画:打工与创业的残酷区别   阅读:2611解决 nginx 413 request entity too large   阅读:2536程序员找工作三要素(必看)   阅读:3212nginx安装redis模块   阅读:277关于PHP程序员技术职业生涯规划   阅读:468web性能测试工具ab的测试方法   阅读:2787php翻转字符串   阅读:698mysql5.7开启sql日志的配置   阅读:4519centos 7 忘记root密码   阅读:2619程序员找工作三要素(必看)   阅读:3212php设置cookie为HttpOnly防止XSS攻击   阅读:6392centos7.3安装mongodb3.6   阅读:4307centos7中颁发CA证书并开启web https   阅读:1335centos7开启交换内存   阅读:5657centos 7 安装 mysql-5.7   阅读:3447mysql5.7主从同步配置   阅读:525用php从1乘到100的值   阅读:3664一键分享到QQ空间、QQ好友、新浪微博、微信代码   阅读:24318web项目高并发量网站解决方案   阅读:2625mysql5.7主从同步配置   阅读:525栈和堆的区别   阅读:2633linux命令中执行php脚本   阅读:3683linux php7安装yaf扩展   阅读:3981php 读取和设置redis的键值   阅读:4608php+redis实现消息队列   阅读:5094移动端自适应rem原理   阅读:6905centos 7 安装 php-7.1.3   阅读:11760linux rarcrack破解rar、zip和7z压缩包简单密码的工具   阅读:6748nginx安装redis模块   阅读:277简单的DOS攻击之死亡之ping详解   阅读:23865web性能测试工具ab的测试方法   阅读:2787centos7开启交换内存   阅读:5657shell脚本批量删除几天前的文件   阅读:4823shell脚本破解十位数内的所有纯数字rar加密压缩包脚本   阅读:5193