news 2026/3/8 13:33:49

数据库约束

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库约束

一.添加主键约束

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

alter table 表名 add primary key(列名); 示例: alter table emp add primary key(employee_id);

2.主键自增长

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

(1)一个表中只能有一个列为自动增长。

(2)自动增长的列的类型必须是整数类型。

(3)自动增长只能添加到具备主键约束与唯一性约束的列上。

(4)删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然后在删除约束。

alter table 表名 modify 主键 类型 auto_increment; 示例: 将emp表中的employee_id主键修改为自增。 alter table emp modify employee_id int auto_increment;

3.在navicat中添加主键约束,打开对应表——设计表——一行的后面有个小钥匙即为添加约束成功,选中那一列,下方会显示自动递增,需要的话选中即可。

二.删除主键

1.使用DDL语句删除主键

alter table 表名 drop primary key; 示例: 注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除主键。 1.去掉自动增长 alter table emp modify employee_id int; 2.删除主键 alter table emp drop primary key;

2.使用navicat删除主键

直接设计表,然后点击小钥匙,去掉自动增长功能即可。

三.添加外键约束

1.使用DDL语句

alter table 表名add constraint 约束名 foreign key(列名) references 参照的表名(参照的列名); 示例: 1.创建部门表包含department_id,department_name,location_id. create table departments(department_id int,department_name varchar(30),location_id int); 2.修改部门表,向department_id列添加主键约束和自动增长 alter table departments add primary key(department_id); alter table departments modify department_id int auto_increment; 3.修改emp表,添加dept_id列。 alter table emp add column dept_id int; 4.向emp表中的dept_id列添加外键约束 alter table emp add constraint emp_fk foreign key(dept_id) references departments(department_id);

2.使用navicat添加

点击emp表,设计表——选择外键,在对应处输入我们要约束的内容即可。

四.删除外键约束

1.使用DDL语句

alter table 表名 drop foreign key 约束名; 示例: alter table emp drop foreign key emp_fk;

2.在navicat中删除外键

选中表——设计表——外键——右键删除即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 0:44:49

毕设项目 基于大数据的K-means广告效果分析

基于大数据的K-means广告效果分析 项目运行效果: 毕业设计 基于大数据的K-means广告效果分析🧿 项目分享:见文末! 一、分析背景和目的 在大数据时代的背景下,广告主可以购买媒介变成直接购买用户,广告的精准投放对广告主、服务…

作者头像 李华
网站建设 2026/3/6 9:00:06

【计算机毕设选题推荐】基于Hadoop+Django的股市行情数据可视化分析平台 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机毕设指导师** ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡有什么问题可以…

作者头像 李华
网站建设 2026/3/4 7:52:15

Unity学习笔记(十六)GUI总述

什么是GUI是即时模式游戏用户交互界面,在Unity中一般简称为GUI,是一个代码驱动的UI系统。GUI的主要作用1 作为程序员的调试工具,创建游戏内调试工具。2 为脚本组件创建自定义检视面板,创建新的编辑器窗口和工具扩展unity本身&…

作者头像 李华
网站建设 2026/3/7 21:48:07

ResCLIP

ResCLIP动机 现有方法(如SCLIP、NACLIP)通过将最后一层的标准交叉相关自注意力(C2SAC^2SAC2SA, Query-Key)替换为自相关自注意力(SCSA, Query-Query或Key-Key)来解决空间不变性问题 。然而,这些…

作者头像 李华
网站建设 2026/3/5 14:29:11

红黑树入门指南(C语言版)

红黑树入门指南(C语言版) 文章目录红黑树入门指南(C语言版)前言一、红黑树的基本概念1.1 核心定义1.2 关键特性二、红黑树的操作2.1 旋转(Rotation)左旋(Left Rotation)右旋&#xf…

作者头像 李华
网站建设 2026/3/7 20:29:21

K-Diffusion终极指南:从零掌握扩散模型图像生成

K-Diffusion终极指南:从零掌握扩散模型图像生成 【免费下载链接】k-diffusion Karras et al. (2022) diffusion models for PyTorch 项目地址: https://gitcode.com/gh_mirrors/kd/k-diffusion K-Diffusion是基于PyTorch实现的先进扩散模型库,专门…

作者头像 李华