mysql unique key在查询中的使用与相关问题
作者:iCoding91 发布时间:2024-01-18 20:00:54
标签:mysql,unique,key,查询
1、建表语句:
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`),
UNIQUE KEY `idxunique_first_name_gender` (`first_name`,`gender`),
UNIQUE KEY `uniq_idx_firstname` (`first_name`,`gender`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2、添加unique key:
-- 添加unique索引
alter table employees add constraint idxunique_first_name_gender unique(first_name, gender);
3、查询测试语句:
-- 包含索引所有字段,且顺序和索引一致
select * from employees where first_name='Chirstian' and gender='M';
-- key列值:idxunique_first_name_gender
-- 包含索引所有字段,但顺序和索引不一致
select * from employees where gender='M' and first_name='Chirstian';
-- key列值:idxunique_first_name_gender
-- 包含索引第一个字段
select * from employees where first_name='Chirstian';
-- key列值:idxunique_first_name_gender
-- 包含索引的非第一个字段
select * from employees where gender='M';
-- key列值:NULL
4、在查询时,如果where条件里面只有unique key里面的列(部分或者全部)且列值类型为const。如果要使用unique key,where里面必须得有建立unique key时的第一列,其他列随意。
一个与mysql unique key相关的问题
xxx_tab的user_id是unique key, 来看看伪代码:
get user_id=10000 from xxx_tab;
if exist
{
return ok
}
ret = insert user_id=10000
if ret ok
{
return ok
}
return not_ok
问题: 为什么最后结果是not_ok ?
提示: 分布式影响
来源:https://blog.csdn.net/caoxiaohong1005/article/details/77930508


猜你喜欢
- 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建
- **使用Python和GDAL给图片加坐标系**假设你已经知道arcgis地理配准(如下图内容),懂一点python。**-目的和背景1.从
- 本文实例为大家分享了python比特币初始配置的具体代码,供大家参考,具体内容如下# -*- coding: utf-8 -*- "
- 安装pygal,可参阅:pip和pygal的安装实例教程基本XY线:import pygalfrom math import cos&quo
- Python中的random函数random模块提供生成伪随机数的函数,在使用时需要导入random模块1. random.random()
- 1、矩阵加法使用a = np.random.random((3,3))b = np.random.randint(0,9,(3,3))ad
- 最近接了一个比较简单的图像处理的单子,花了一点时间随便
- 现在Django 3.0附带了对ASGI的支持,将Websockets添加到Django应用中不需要任何额外的依赖关系。 在本文中,您将学习
- # -*- coding: utf8 -*-'''Created on 2013-12-19@author: goo
- 在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip()
- 统计每天的数据量变化,数据量变动超过一定范围时,进行告警。告警通过把对应的参数传递至相应接口。python程序如下#!/usr/bin/py
- remove 删除单个元素,删除首个符合条件的元素,按值删除,返回值为空List_remove = [1, 2, 2, 2, 3, 4]pr
- 使用ASP设置指定站点CPU最大使用程度'=============================================
- '创建DOM对象set objDom=server.CreateObject("MicroSoft.XMLDom"
- 相信大家对于常见 CSS BUG 的处理已经相对比较熟悉,例如:IE6 Three Pixel Gap、IE5/6 Doubled Floa
- 爬取xxx天气爬取网址:https://tianqi.2345.com/today-60038.htm安装pip install scrap
- 一、前言嗨,大家好,我是新发。有同学私信我让我写一篇Unity网格相关的教程,那我就带大家来一次Unity的网格探险之旅吧~二、Hello
- python编写计算器,供大家参考,具体内容如下(1)计算器界面如下:(2)基本满足了计算器的所有需求,使用时不可键盘输入,只能鼠标点击左键
- 前言在 Qt 中可以使用信号和槽机制很方便地实现部件之间的通信,考虑下面这样的场景:我想要点击任意一个专辑卡并通知主界面跳转到专辑界面,那么
- 1. 先介绍几个常用的 MySQL 函数RAND() 随机生成 0~1 之间的小数(0<1)CEI