mysql unique key在查询中的使用与相关问题
16lz
2021-12-23
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
-- 添加unique索引alter table employees add constraint idxunique_first_name_gender unique(first_name, gender);
-- 包含索引所有字段,且顺序和索引一致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
一个与mysql unique key相关的问题
xxx_tab的user_id是unique key, 来看看伪代码:
get user_id=10000 from xxx_tab;if exist { return ok}ret = insert user_id=10000if ret ok { return ok}return not_ok
提示: 分布式影响
总结
更多相关文章
- MySQL系列多表连接查询92及99语法示例详解教程
- Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
- MySQL 什么时候使用INNER JOIN 或 LEFT JOIN
- Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
- Android软键盘适配问题
- SlidingMenu和ActionBarSherlock结合做出出色的App布局,Facebook
- android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0