• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MySQL使用UNIQUE实现数据不重复插入

    SQL UNIQUE 约束

    UNIQUE 约束唯一标识数据库表中的每条记录。
    UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
    PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

    请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

    下面的 SQL 在 “Persons” 表创建时在 “Id_P” 列创建 UNIQUE 约束:

    CREATE TABLE Persons
    (
      Id_P int NOT NULL,
      LastName varchar(255) NOT NULL,
      FirstName varchar(255),
      Address varchar(255),
      City varchar(255),
      UNIQUE (Id_P)
    )
    

    如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

    CREATE TABLE Persons
    (
      Id_P int NOT NULL,
      LastName varchar(255) NOT NULL,
      FirstName varchar(255),
      Address varchar(255),
      City varchar(255),
      CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
    )
    

    当表已被创建时,如需在 “Id_P” 列创建 UNIQUE 约束,请使用下列 SQL:

    ALTER TABLE Persons ADD UNIQUE (Id_P)

    如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

    ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

    如需撤销 UNIQUE 约束,请使用下面的 SQL:

    ALTER TABLE Persons DROP INDEX uc_PersonID

    这样每次插入重复记录时MySQL就会提示Duplicate entry value1-value2 for key uni_que,当然你可以在insert的时候加入ignore来忽略掉
    现在保证了无重复记录后,我们要开始记录不存在则插入,存在则更新操作

    INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...) ON DUPLICATE KEY UPDATE field1='value1', field2='value2', field3='value3', ...

    这个语句的意思是,插入值,如果没有该记录执行

    INSERT INTO tablename (field1, field2, field3, ...) VALUES ('value1', 'value2','value3', ...)

    这一段,如果存在该记录,那么执行

    UPDATE field1='value1', field2='value2', field3='value3', ...

    您可能感兴趣的文章:
    • mysql 数据表中查找重复记录
    • MySQL根据某一个或者多个字段查找重复数据的sql语句
    • mysql查找删除重复数据并只保留一条实例详解
    • mysql查询表里的重复数据方法
    • MySQL 删除数据库中重复数据方法小结
    • MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)
    • 很全面的MySQL处理重复数据代码
    • MySQL数据库中删除重复记录的方法总结[推荐]
    • 分享MYSQL插入数据时忽略重复数据的方法
    • 一次现场mysql重复记录数据的排查处理实战记录
    上一篇:快速解决mysql57服务突然不见了的问题
    下一篇:my.cnf参数配置实现InnoDB引擎性能优化
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    MySQL使用UNIQUE实现数据不重复插入 MySQL,使用,UNIQUE,实现,数据,