当前位置: 首页 > news >正文

MySQL数据库干货_08—— MySQL中的主键约束(Primary Key)

主键约束(Primary Key)

  1. 单一主键

    使用一个列作为主键列,当该列的值有重复时,则违反唯一约束。

  2. 联合主键

    使用多个列作为主键列,当多个列的值都相同时,则违反唯一约束。

添加主键约束
  1. 使用DDL语句添加主键约束

    ALTER TABLE  表名 ADD PRIMARY KEY(列名);
    

    示例:

    将 emp 表中的 employee_id 修改为主键。

    alter table emp add primary key(employee_id);
    
    主键自增长

    MySQL 中的自动增长类型要求:

    • 一个表中只能有一个列为自动增长。
    • 自动增长的列的类型必须是整数类型。
    • 自动增长只能添加到具备主键约束与唯一性约束的列上。
    • 删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然 后在删除约束。
    alter table 表名 modify 主键 类型 auto_increment;
    

    示例:

    将 emp 表中的 employee_id 主键修改为自增。

    alter table emp modify employee_id int auto_increment;
    

删除主键约束
  1. 使用DDL语句删除主键

    ALTER TABLE  表名 DROP PRIMARY KEY;
    

    注意:


    删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除主键。

    示例:

    删除emp表中的 employee_id 主键约束。

    去掉自动增长:

    alter table emp modify employee_id int;
    

    删除主键:

    alter table emp drop primary key;
    

相关文章:

  • IDE的组成
  • MySQL——九、SQL编程
  • Kubernetes (K8S)概述
  • python爬虫selenium和ddddocr使用
  • Vue、jquery和angular之间区别
  • 松下A6B伺服 马达不动问题解决
  • H5游戏源码分享-色块选择游戏
  • Go学习第十六章——Gin文件上传与下载
  • vscode C++项目相对路径的问题
  • asyns和await用法?
  • 基于vue小红书平台用户数据分析与可视化
  • kubernetesr进阶--Security Context之为Pod设置Security Context
  • C++前缀和算法的应用:使数组相等的最小开销
  • python自动化测试(七):鼠标事件
  • 【自动驾驶】Free space与Ray casting
  • Git的一些常用操作
  • GraphQL学习过程应该是这样的
  • HTML5新特性总结
  • select2 取值 遍历 设置默认值
  • SQL 难点解决:记录的引用
  • Vue实战(四)登录/注册页的实现
  • 理清楚Vue的结构
  • 前言-如何学习区块链
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 为视图添加丝滑的水波纹
  • 小程序01:wepy框架整合iview webapp UI
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 阿里云ACE认证之理解CDN技术
  • ​​​​​​​​​​​​​​Γ函数
  • ​iOS安全加固方法及实现
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #etcd#安装时出错
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (Forward) Music Player: From UI Proposal to Code
  • (ibm)Java 语言的 XPath API
  • (ZT)一个美国文科博士的YardLife
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (数据结构)顺序表的定义
  • (一)认识微服务
  • (转)nsfocus-绿盟科技笔试题目
  • ... 是什么 ?... 有什么用处?
  • ./configure,make,make install的作用
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET上SQLite的连接
  • /bin/bash^M: bad interpreter: No such file or directory
  • @angular/cli项目构建--Dynamic.Form
  • @Data注解的作用
  • @Responsebody与@RequestBody
  • [ Linux ] Linux信号概述 信号的产生