news 2026/2/6 8:51:21

数据库约束

作者头像

张小明

前端开发工程师

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/2/3 15:46:17

Cmder终极美化指南:5分钟让Windows命令行颜值爆表

Cmder终极美化指南:5分钟让Windows命令行颜值爆表 【免费下载链接】cmder 项目地址: https://gitcode.com/gh_mirrors/cmd/cmder 厌倦了Windows默认的黑白命令行界面?想要一个既美观又实用的终端环境?Cmder作为Windows平台最受欢迎的…

作者头像 李华
网站建设 2026/2/5 4:34:18

VGGT如何重塑三维视觉:从单图理解到多视角重建的技术演进

VGGT如何重塑三维视觉:从单图理解到多视角重建的技术演进 【免费下载链接】vggt VGGT Visual Geometry Grounded Transformer 项目地址: https://gitcode.com/gh_mirrors/vg/vggt 视觉几何基础Transformer(VGGT)正在重新定义三维场景理…

作者头像 李华
网站建设 2026/2/3 9:16:01

mybatis入门案例及解释

2 示例12.1 创建2.1.1 创建项目新建Maven项目,然后直接下一步。展开三角填写信息,最后一行版本不填,直接用默认的。然后完成。进度条走完后,点文件,设置,展开编辑器,在点文件和代码模板。然后先…

作者头像 李华
网站建设 2026/2/3 1:05:17

【血压计算】基于matlab从光电容积脉搏波(PPG)和心电图(ECG)信号中提取的多种特征,推导血压测量值附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 🍊个人信条:格物致知,完整Matlab代码获取及仿…

作者头像 李华
网站建设 2026/2/6 0:31:39

学习记录(二十五)-Cursor的pro计划+云服务器使用常识

目录 前言 一、如何跳过Cursor的7天免费计划? 二、升级完成后,出现地区不匹配怎么办? 三、云服务器一些基本常识 总结 前言 感谢同学的资助,在我急需的时候让我用上了Cursor的pro版本。不过记录一下在充值和使用过程中遇到的…

作者头像 李华
网站建设 2026/2/5 19:26:33

代码克隆检测的挑战与AI的机遇

代码克隆检测是软件测试中的重要环节,涉及识别代码库中的相似或重复片段。传统方法如基于文本、令牌或抽象语法树(AST)的匹配,虽有一定效果,但常面临高误报率、难以检测语义克隆(功能相似但结构不同&#x…

作者头像 李华