美文网首页
mysqls数据库字段列值不重复

mysqls数据库字段列值不重复

作者: 百年叔叔 | 来源:发表于2018-05-29 08:34 被阅读0次

昨天和公司大拿再探讨一个关于数据库的问题,数据库是不是可以列下面的值不重复。

后面整理如下

首先我们新建一个表

/*
 Navicat Premium Data Transfer

 Source Server         : 本地
 Source Server Type    : MySQL
 Source Server Version : 50720
 Source Host           : localhost:3306
 Source Schema         : mybatis

 Target Server Type    : MySQL
 Target Server Version : 50720
 File Encoding         : 65001

 Date: 29/05/2018 08:23:06
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for tbl_employee
-- ----------------------------
DROP TABLE IF EXISTS `tbl_employee`;
CREATE TABLE `tbl_employee`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `last_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `gender` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

这个表有4个字段
分别是 id
last_name
gender
email

image.png

我们给表填充上数据

接下来我们给表字段 email 设置不可重复

image.png

有一个报错 意思是"168@qq.com" 是一个重复字段

我们修改成其他的值再试试


image.png

现在我们往表里面添加email 就是不能重复了,但是注意一点 空数据也会被判断为重复

ALTER TABLE tbl_employee ADD UNIQUE (email);



##数据库名为mybatis,表名tbl_employee,字段名email.

删除这个约束

alter table tbl_employee drop index email

##数据库名为mybatis,表名tbl_employee,字段名email.

相关文章

  • mysqls数据库字段列值不重复

    昨天和公司大拿再探讨一个关于数据库的问题,数据库是不是可以列下面的值不重复。 后面整理如下 首先我们新建一个表 这...

  • redis命令

    redis命令是忽略大小写的 选择数据库 String Hash 散列类型 key + 字段 + 字段值 = ...

  • SQL基础语句

    select distinct [字段名] from [表名];用于查询该列不重复的所有值。 where子句中可以...

  • 5. 创建计算字段

    创建计算字段 计算字段 字段(field)与列的意思相同数据库列一般称列,而字段常与计算字段一起使用。 计算字段并...

  • MySQL创建计算字段

    字段 字段与列含义差不多,数据库列一般叫列,字段一般是指计算字段 计算字段 其实就是一段各个列的信息集合,这个...

  • 数据库 | MySQL | 3. 表操作(字段)

    添加字段 增加在末尾列 增加在第一列 增加在某一列后 删除字段 修改字段 修改字段名、字段类型 修改字段默认值 删...

  • 数据库学习笔记0620

    数据库对象 表:包含数据库所有数据的数据库对象,由行和列组成,用于组织和存储数据 字段:表中每列称为一个字段,字段...

  • Oracle使用(十)_数据库设计三范式

    数据库设计遵守三范式作用:减少数据冗余 第一范式(列不可分,保证列的原子性):如果数据库表中的所有字段值都是不可分...

  • 《mysql必知必会》读书实战笔记10-创建计算字段

    第10章 创建计算字段 1、计算字段 计算字段:指在数据库列中不直接存在,需要多个列计算后才能得出的字段。 运用计...

  • MySQL 索引分类 Explain解释

    五种索引: 普通索引:一个索引只包含单个列 唯一索引:索引列的值必须是唯一, 某个字段不能出现重复的值,比如身份证...

网友评论

      本文标题:mysqls数据库字段列值不重复

      本文链接:https://www.haomeiwen.com/subject/wpkojftx.html