zoukankan      html  css  js  c++  java
  • 关于数据库字段不是主键但是也不能重复的问题解决办法?

    关于数据库字段不是主键但是也不能重复的问题解决办法:

    1.创建表时设置:

    SQL code:
     
    CREATE TABLE `user` (
          `Id` int(11) NOT NULL AUTO_INCREMENT,  -- 自增
          `namevarchar(50) NOT NULL unique,  -- 唯一性约束          (如果是单个字段不可重复,可以用唯一主键)
          `phone` varchar(18) NOT NULL,  
          `mail` varchar(18) NOT NULL,  
           UNIQUE KEY (`phone`,`mail`), -- 联合唯一性约束         (如果是两个字段都不可重复,可以用联合唯一主键)
           PRIMARY KEY (`Id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
    ALTER TABLE `user` ADD UNIQUE KEY(`name`);  -- 唯一约束
    ALTER TABLE `user` ADD UNIQUE KEY(`phone`,`mail`); -- 联合唯一约束


    2.创建表之后设置:

    SQL code:
     
    ALTER TABLE `user` ADD UNIQUE KEY(`name`);  -- 唯一约束
    ALTER TABLE `user` ADD UNIQUE KEY(`phone`,`mail`); -- 联合唯一约束

    (我的问题是这么解决的,不一定是合理的,如果有高手请指点谢谢!)

  • 相关阅读:
    转发和重定向的区别
    关于Daydream VR的最直白的介绍
    Duplicate Protocol Definition of DTService Is Ignored
    automatically select architectures
    java
    初识反射
    java网络编程
    Map接口
    Set,List
    正则表达式
  • 原文地址:https://www.cnblogs.com/testyao/p/6524788.html
Copyright © 2011-2022 走看看