mysql 给表添加唯一约束、联合唯一约束,指定唯一约束的名字

修改 MySQL 数据库中的唯一键 在 MySQL 数据库中,唯一键(UNIQUE KEY)用于确保表中的一列或多列组合的值是唯一的,从而防止数据重复。如果你想要更改唯一键的列或名称,你需要先删除现有的唯一键,然后添加一个新的唯一键。如果你想要删除现有的唯一键,你需要知道唯一键的名称(在创建唯一键时,如果没有指定名称,MySQL 会自动生成一个名称)。如果唯一键依赖于列名或数据类型,并且你需要更改这些,你需要先删除唯一键,进行所需的列更改,然后重新添加唯一键。注意:在删除和重新添加唯一键之前,请确保没有违反唯一性约束的数据存在。 阅读详情
AI摘要

本文详细介绍了SQL中表结构的创建、字段类型设置、唯一约束的添加与删除,包括资源名称和资源类型联合唯一约束的实现,以及如何给唯一约束命名。

表结构

FIELD          TYPE          COLLATION       NULL    KEY     DEFAULT  Extra           PRIVILEGES            COMMENT
-------------  ------------  --------------  ------  ------  -------  --------------  --------------------  -------
id             BIGINT(20)    (NULL)          NO      PRI     (NULL)   AUTO_INCREMENT  SELECT,INSERT,UPDATE         
resource_name  VARCHAR(128)  gbk_chinese_ci  YES             (NULL)                   SELECT,INSERT,UPDATE         
resource_type  TINYINT(4)    (NULL)          YES             (NULL)                   SELECT,INSERT,UPDATE 

给resource_name和resource_type添加联合唯一约束

ALTER TABLE jw_resource
ADD UNIQUE KEY(resource_name, resource_type);

结果 show create table jw_resource;

CREATE TABLE `jw_resource` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `resource_name` VARCHAR(128) DEFAULT NULL,
  `resource_type` TINYINT(4) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `resource_name` (`resource_name`,`resource_type`)
) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk

删除唯一约束

ALTER TABLE jw_role DROP INDEX resource_name;


增加一个唯一约束,并且给唯一约束起名字?

原表结构:

mysql> show create table test_table;
+------------+--------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------+
| Table      | Create Table
                                 |
+------------+--------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------+
| test_table | CREATE TABLE `test_table` (
  `id` int(50) NOT NULL AUTO_INCREMENT,
  `kk` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
+------------+--------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------+
1 row in set (0.00 sec)
增加唯一约束的语句,给唯一约束起名叫做 kk_uq:

mysql> alter table test_table add unique key `kk_uq` ( kk);
查看结果

mysql> show create table test_table;
+------------+--------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------+
| Table      | Create Table
                                                              |
+------------+--------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------+
| test_table | CREATE TABLE `test_table` (
  `id` int(50) NOT NULL AUTO_INCREMENT,
  `kk` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `kk_uq` (`kk`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
+------------+--------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------+
1 row in set (0.00 sec)



MySQL 表的增删改查 大家肯定跟我一样,看到CRUD这四个字母一头雾水,什么是CRUD呀?这里我就为大家一一讲解:CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写是数据库操作最基本的操作也是未来我们进入公司实习,最开始的最日常的工作由此可见,对我们未来涞水非常的重要所以,接下来就让我们来看看具体什么是CRUD吧。 阅读详情

相关推荐

使用MySQL修改唯一键

要修改MySQL中的唯一键,我们需要先删除旧的唯一键约束,然后再添加一个新的唯一键约束。假设我们要修改名为"uk_email"的唯一键,该键位于名为"users"的表中。完成了旧唯一键的删除后,我们可以添加一个新的唯一键约束。在修改唯一键之前,我们需要先删除旧的唯一键约束。上述代码将创建一个名为"uk_email"的新唯一键约束,该约束应用于"users"表中的"email"列。请注意,修改唯一键可能会影响现有数据的完整性,因此在执行修改之前,请确保备份重要的数据。步骤 2:删除旧的唯一键约束。

DfsnVue的博客 796

sql unique约束详解

sql unique约束详解 UNIQUE 约束唯一标识数据库表中的每条记录。 UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 SQL UNIQUE Constraint on CREATE T...

c851204293的博客 7531

MAIXCAM无线连接实战:5分钟搞定远程调试与代码烧录(避坑版)

本文提供了一份详细的MAIXCAM无线连接实战指南,帮助嵌入式视觉开发者快速配置远程调试与代码烧录。文章重点介绍了通过MaixHub IDE进行Wi-Fi配置、建立远程终端连接、使用SFTP进行文件传输以及管理自启动应用程序的完整流程,并针对IP地址变动、信号中断等常见问题提供了实用的避坑解决方案,旨在提升开发效率与灵活性。

weixin_29188043的博客 299

mysql alter 唯一键_MySQL列属性 之 唯一键

MySQL列属性 之 唯一键唯一键唯一键:每张表往往有多个字段需要具有唯一性,数据不能重复,但是在每张表中,只能有一个主键,因此 唯一键就是用来解决表中多个字段需要具有唯一性的问题。例如身份证号码应该每一行的记录不一样,需要具有唯一性。唯一键的本质与主键差不多,唯一键允许字段为空,而且可以多个字段为空,因此空字段不参与唯一性的比较。也就是说可以插入多个空字段。增加唯一键增加唯一键的方法和主键类似,...

weixin_42193786的博客 1108

AD21导出gerber文件

文件–>制造输出–>Gerber Files 文件–>制造输出–>Gerber Files 通用、光圈和高级跟第一步一样 3.文件–>制造输出–>NC Drill Files 这个默认就可以了 主要参考视频来自bilibili添加链接描述 此篇博客主要是写给自己好记的,无其他商业用途 ...

新手小杨 1万+

华为海思2026届数字IC秋招笔试真题解析与实战技巧(2025最新版)

本文深度解析华为海思2026届数字IC秋招笔试真题,涵盖高频考点如后端设计、低功耗设计、SystemVerilog语法等核心内容。提供时序违例修复、时钟树综合等实战技巧,帮助考生高效备考。特别关注UPF低功耗设计规范等最新考点,助力考生在秋招笔试中脱颖而出。

lg888的博客 1091

MySQL添加/删除主键、外键、唯一键、索引、自增

建表是添加外键create table tableName1( id int primary key, name varchar(128) default null, tableName2_id int not null, foreign key(tableName2_id) references tableName2(id) );单独添加外键alter table tableName1 add c

生而为人我很抱歉 5万+

【C++PTA】6-1 Point类的运算 (10 分)

定义Point类,有坐标x,y两个私有成员变量;对Point类重载“+”(相加)、“-”(相减)和“==”(相等)运算符,实现对坐标的改变,要求用友元函数和成员函数两种方法实现。对Point类重载<<运算符,以使得代码 Point p; cout<<p<<endl;可以输出该点对象的坐标。 函数接口定义: 实现Point类。 裁判测试程序样例: /* 请在这里填写答案 */ int main(int argc, char const *argv[]) { P

libertye的博客 2368

为已经创建的表,将单字段unique约束改为双字段联合unique约束,并为表添加新字段及字段默认值

在实际应用中,如果你在创建唯一约束时指定了约束名,例如: CONSTRAINT book_name_unique UNIQUE (book_name) ,那么删除时应该使用:alter table books drop key book_name_unique;假设有一个名为books的表,包含字段book_id(整数类型,主键且自增),book_name(字符串类型,长度为100,不能为空),author(字符串类型,长度为50),price(小数类型,保留两位小数)。

ukimiya的博客 996

别再为环保数采仪通讯发愁!手把手教你用MCGS触摸屏+4G模块发送HJ212报文

本文详细介绍了如何使用MCGS触摸屏配合4G模块高效发送HJ212标准报文,解决工业环保监测中的数据采集与传输难题。从硬件连接到软件配置,再到报文组装与发送策略,提供全流程实用指南,特别针对4G网络环境下的特殊设置给出优化建议,帮助工程师提升数据传输稳定性与效率。

weixin_30847865的博客 389

电子结构设计(EMD)十年知识总结

客官,你的面相是做结构设计的奇才~1. 材料选择【一出手的0.1s就败了】2. 钣金件设计【折来折去有啥难】3. 塑胶件设计【看着好复杂】4. 型材件设计【凭啥不让我设计】5. 电子结构(PCBA)设计【静电肿么要我背锅】6. 包装设计【要的就是金玉其外,败絮其中】7. 外观(工业)设计【好不好看,谁说了算】8. 标签设计【】9. 标准件选择【一个螺丝难倒英雄汉/提起螺丝,英雄气短】10. 计算仿...

wfeng86的博客 1569

MySQL表的增删改查(进阶)

目录一、数据库约束1.1 NULL约束1.2 UNIQUE:唯一约束1.3 DEFAULT:默认值约束1.4 PRIMARY KEY:主键约束二、使用步骤2.读入数据总结 一、数据库约束 约束就是数据库在使用的时候,对于里面能够存的数据提出的要求和限制. 1.1 NULL约束 not null-指示某列不能存储NULL值. 给id这一列设为not null之后,上图中紫色框里的值就变成NO了. 如果尝试往这里插入空值,就会直接报错: 注意:NOT NULL是可以给任意个列来进行设置,不仅仅是这一个列

dddddrrrzz的博客 6411

模糊控制 (Fuzzy Control) 算法详解及案例分析

模糊控制是一种基于模糊逻辑的控制策略,其核心思想是通过模糊规则和模糊推理实现对复杂系统的控制。模糊控制不依赖于精确的数学模型,而是通过模拟人类的决策过程来处理不确定性和非线性问题。

闲人编程的博客 3658

Mysql 创建数据库,表,添加 键 约束

Mysql创建数据库,表,添加键约束

m0_63908253的博客 2195

SAP 中配置权限职责菜单并分配给用户的核心流程是:用PFCG 创建 / 维护角色(含菜单、事务码、权限)→ 生成权限参数文件 → 通过 SU01/SU10 将角色分配给用户

SAP权限配置核心流程:1)通过PFCG创建角色,配置菜单事务码及权限对象;2)生成权限参数文件;3)用SU01/SU10分配角色给用户。关键步骤包括:在PFCG中维护菜单结构、设置权限字段值、生成Profile,通过用户比较验证权限。批量分配可用SU10,特殊需求可创建复合角色或自定义权限对象。常见问题需检查权限缺失(SU53)、菜单分配及组织级别设置。流程简化为:创建角色→配置权限→分配用户→验证生效。

金牌架构师 1274

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数据库-----(主键约束、唯一约束、默认约束、非空约束、外键约束)

文章目录一、数据的完整性二、实体完整性约束2.1、主键约束(唯一、不重复、不能为空)(1)建表时直接添加(2)通过ALTER语句(针对已存在的表)(3)删除主键约束2.2唯一约束(唯一、不重复,可以为空)(1)创建表的同时创建唯一约束 UN_列名(2)针对已经存在的表,添加唯一约束(30删除唯一约束三、域完整性3.1默认约束 default(1)创建表的同时创建默认约束(2)针对已经存在的表,通过alter语句(3)删除默认约束3.2非空约束not null(1)创建表时创建非空约束(2)针对已经存在的表

weixin_49164248的博客 9588

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

头歌 MySQL-初识MySQL

本关任务:创建数据库。安装数据库是学习的第一步,如果你还没有在本机上安装数据库,可以查看背景知识的安装步骤。数据库其实就是可以存放大量数据的仓库,学习数据库我们就从创建一个数据库开始吧。为了完成本关任务,你需要掌握: 1.如何连接数据库; 2.如何创建数据库。在操作数据库之前,需要连接它,输入命令:。在你自己本机上连接数据库用上述方式是可以的,不过在平台上连接数据库还需要加上一句。如下:连接上之后就可以进行数据库的操作了,接下来我们创建一个名为的数据库:创建完数据库之后我们可以通过命令查看中已存在的数据库。

m0_70030344的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

MySQL数据库 ---MySQL表的增删改查(进阶)

MySQL表的增删改查(进阶) 1. 数据库约束 约束类型 说明 示例 NULL约束 使用NOT NULL指定列不为空 name varchar(20) not null, UNIQUE唯一约束 指定列为唯一的、不重复的 name varchar(20) unique, DEFAULT默认值约束 指定列为空时的默认值 age int default 20, 主键约束 NOT NULL 和 UNIQUE 的结合 id int primary key, 外键约束 关联其他表的主键

wwzzzzzzzzzzzzz的博客 2万+

MySQL数据库——初识MySQL

第1关 创建数据库 【注】数据库名区分大小写 一、连接数据库 输入命令:mysql -u用户名 -p密码 在平台上连接数据库:mysql -u用户名 -p密码 -h127.0.0.1 二、创建数据库 连接上MySQL后就可以进行数据库的操作了,接下来我们创建一个名为TestDb的数据库: 创建完数据库之后我们可以通过show databases;命令查看MySQL中已存在的数据库。 第2关 创建表 【注】在MySQL数据库中是不区分大小写的 一、创建数据库 CREATE D

weixin_51970555的博客 4760

mysql表项_MySQL.常见表选项及约束

1.create table 选项1.指定列选项 default、comment2.指定表选项 engine、auto_increment、comment2.create table 约束1.非空约束:not null2.唯一约束:unique3.主键约束: primary key4.外键: foreign key5.检查enum、set:chect一、create table 选项a....

weixin_36232899的博客 447

mysql联合索

联合索引(Composite Index)也叫组合索引或多列索引,是指在MySQL中对一个表的多个列共同建立的索引。与单列索引不同,联合索引是同时对多个列的值进行排序和存储的索引结构。它将这些列的值按照指定的顺序组合在一起,形成一个复合键值存储在B+树索引结构中。

Made In SQL 1069

mysql 索引 唯一索引、唯一约束

索引 创建 主键有索引 小表不需要索引 装载数据后再建立索引。 如果先建索引,再装载数据。插入每行时都必须更改和维护索引,插入效率低。 频繁搜索的列可以作为索引。,对频繁的联合查询,可有联合索引。 在联接属性上建立索引(主外键)。 表中索引个数限制:当插入或删除行时,索引越多,修改表数据的开销就越大。 索引名字:无什么作用,创建、删除索引时会用到 唯一索引、唯一约束 都可以保证该字段数据的唯一 ...

puspos的博客 374

数据库-数据库基础2-MySQL数据库中建表

文章目录一、常见的数据库1、Oracle2、MySQL3、SQL Server二、MySQL数据库简介三、MySQL数据库操作1、查看现有数据库2、新建自己的数据库3、删除自己的数据库四、MySQL中建表1、表中字段的数据类型1)数值型2)日期和时间3)字符串2、创建表1)数据库创建表方式和原则3、查看数据库中的表4、显示表结构5、删除表6、修改表1)添加或删除列2)修改属性3)修改字段名五、数据的完整性约束1、数据的完整性约束2、实体完整性1)主键约束i、创建表的同时创建主键约束 一、常见的数据库 1、O

ANingL的博客 757

0403任务三MySQL 基础 (二)- 表操作

任务三MySQL 基础 (二)- 表操作一、学习内容1、MySQL表数据类型2、用SQL语句创建表3、用SQL语句向表中添加数据4、用SQL语句删除表5、 用SQL语句修改表二、作业1、项目三:超过5名学生的课(难度:简单)2、项目四:交换工资(难度:简单)三、MySQL 基础 (三)- 表联结四、作业1、项目五:组合两张表 (难度:简单)2、项目六:删除重复的邮箱(难度:简单) 一、学习内容 1...

Guiabbey的博客 624
上一篇: sqlmap namespace ibatis 没有生效
下一篇: java反射访问私有成员变量
arkblue
博客等级 码龄18年 188粉丝 254原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值