判断唯一约束是否是唯一的Unique

//检查 唯一约束Name

            //检查 唯一约束Name
            int count = new BLL.Funcs().GetRecordCount(string.Format("Name={0}", model.Name));
            if (!CheckUniqueFieldByCount(EditID, count, preName, model.Name))
            {
                FineUI.Alert.Show(Resources.WebResource.SaveFailed);
                return;
            }

//新增和编辑的唯一验证不一样,必须分别判断:

        /// <summary>
        /// 检查唯一约束
        /// </summary>
        /// <param name="editId">编辑id</param>
        /// <param name="count">根据当前Name查询的数量</param>
        /// <param name="preName">原Name值</param>
        /// <param name="newName">新Name值</param>
        /// <returns>是否唯一</returns>
        protected bool CheckUniqueFieldByCount(int editId, int count, string preName, string newName)
        {
            if (editId > 0)
            {
                //如果已存在 不是本身的Name
                if (count > 1 || (count == 1 && newName != preName))
                {
                    return false;
                }
            }
            else
            {
                //如果已存在Name
                if (count > 0)
                {
                    return false;
                }
            }
            return true;
        }
时间: 2024-10-12 16:11:29

判断唯一约束是否是唯一的Unique的相关文章

oracle数据库添加,查询,删除唯一约束

UNIQUE约束称之为唯一约束,可以设置在表中输入的字段值都是唯一的,跟主键很相似,不同的是唯一约束可以有多个,主键只能有一个对于不是主键但要保证唯一性的字段来说,可以建议唯一约束 (1)添加唯一约束 [1]创建表的同时添加唯一约束 创建表时添加UNIQUE约束,在创建表的后面 语法: CONSTRAINT   约束名称   UNIQUE(字段名) 示例: CREATE TABLE ORDERINFO (              ORDERID VARCHAR2(10),           

mysql 唯一约束

ALTER TABLE user ADD UNIQUE (username,userid) 对表user增加username和userid的唯一约束 ALTER TABLE tablename  ADD UNIQUE (列名,列名) 约束需要消耗一定的性能,慎用,建议更多的约束逻辑在程序中控制,避免数据库性能瓶颈.自己平衡性能和完整性的取舍.

唯一约束

唯一约束又称为UNIQUE约束,它用于防止一个特定的列中两个记录具有一致的值,比如在员工信息表中希望防止两个或者多个人具有相同的身份证号码.唯一约束分为单字段唯一约束与复合唯一约束两种类型,下面分别介绍. 如果希望一个字段在表中的值是唯一的,那么就可以将唯一约束设置到这个字段上,设置方式就是在字段定义后增加UNIQUE,如果是DB2,那么还要同时将NOT NULL约束设置到这个字段上.下面的SQL语句创建了表T_Person,并且将唯一约束设置到FNumber字段上: MYSQL.MSSQLSe

谈谈唯一约束和唯一索引

约束 全称完整性约束,它是关系数据库中的对象,用来存放插入到一个表中一列数据的规则,用来确保数据的准确性和一致性. 索引 数据库中用的最频繁的操作是数据查询,索引就是为了加速表中数据行的检索而创建的一种分散的数据结构.可以把索引类比成书的目录,有目录的肯定比没有目录的书,更方便查找. 唯一约束 保证在一个字段或者一组字段里的数据都与表中其它行的对应数据不同.和主键约束不同,唯一约束允许为 NULL,只是只能有一行. 唯一索引 不允许具有索引值相同的行,从而禁止重复的索引或键值. 唯一约束和唯一索

MYSQL中唯一约束和唯一索引的区别

1.唯一约束和唯一索引,都可以实现列数据的唯一,列值可以有null.2.创建唯一约束,会自动创建一个同名的唯一索引,该索引不能单独删除,删除约束会自动删除索引.唯一约束是通过唯一索引来实现数据的唯一.3.创建一个唯一索引,这个索引就是独立,可以单独删除.4.如果一个列上想有约束和索引,且两者可以单独的删除.可以先建唯一索引,再建同名的唯一约束.5.如果表的一个字段,要作为另外一个表的外键,这个字段必须有唯一约束(或是主键),如果只是有唯一索引,就会报错. 约束是业务检查,比方说非空约束,chec

唯一约束 和 唯一索引 有什么区别?

唯一约束可以用于保证在基表中增加一条记录时,一个或多个列值是唯一的.如果已经给一个或以上列定义了唯一约束,那么任何操作都不可能替换这些列中的复制的值.尽管唯一的.系统要求的索引是用来加强唯一约束,但是定义唯一约束和创建唯一索引之间还是有区别的.即使这二者之间都可以增强唯一性,唯一索引允许NULL值并且一般不能用在指示性约束中.换句话说,唯一约束不允许NULL值并能在外键规范中使用( "NULL"的意思就是列值不明确并且和其他值不同,还包括其他NULL值).

NULL和唯一约束UNIQUE的对应关系

NULL和唯一约束UNIQUE的对应关系 在数据库中,NULL表示列值为空.唯一约束UNIQUE规定指定列的值必须是唯一的,值和值之间都不能相同.这个时候,就出现一个问题,NULL和NULL算是相同,还是不同.由于SQL语法没有明确规定,所以各个数据库厂商的处理方式不同. (1)PostgreSQL和Oracle认为NULL表示没有指定数据,所以数据有多种可能,所以UNIQUE约束列中允许存在任意个NULL. (2)Informix和SQL Server认为NULL就表示空,是一种唯一的状态.所

MySql -- UNIQUE唯一约束

3.UNIQUE 约束 约束唯一标识数据库表中的每条记录. 创建一张测试表: CREATE TABLE `test`.`info`( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `idCard` VARCHAR(18) UNIQUE NOT NULL, -- 直接在字段上添加唯一约束 `mobile` VARCHAR(11), PRIMARY KEY (`id`) ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8

数据库中创建unique唯一约束

最近项目中的需求,确定唯一一条数据,原来貌似碰到过,忘记了,现在记录一下.实现唯一约束还可以不是主键的unique. oracle中的unique约束是用来保证表中的某一类,或者表中的某一类组合起来不重复的一种手段.我们在可以在创建表时或者创建好后通过修改表的方式来创建oracle中的unique约束. 下面是一些创建unique约束的例子: create table unique_test (id number, fname varchar2(20), lname varchar2(20),