标签: unique-constraint

SQL Server中的唯一密钥冲突 - 假设错误2627是否安全?

我需要UNIQUE通过我正在开发的C#应用​​程序以特殊方式捕获对约束的违反.可以安全地假设它Error 2627总是对应于这种违规行为,以便我可以使用

if (ThisSqlException.Number == 2627)
{
    // Handle unique constraint violation.
}
else
{
    // Handle the remaing errors.
}
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 unique-constraint

68
推荐指数
2
解决办法
6万
查看次数

一个确保元素唯一性的队列?

我正在寻找java.util.Queue的实现或Google集合中表现得像Queue的东西,但也要确保队列中的每个元素都是唯一的.(所有进一步插入都没有效果)

这是可能的,还是我必须手工完成?

现在我正在使用一个带有LinkedList实现的Queue,并在插入之前检查唯一性.(我使用侧面Map来执行此操作,在队列之前/之后添加/删除侧面图中的元素).我不太喜欢它.

欢迎任何输入.如果它不在java.util包中,那么也许这是一个坏主意?

java queue collections unique-constraint guava

61
推荐指数
4
解决办法
4万
查看次数

MySQL在每个行唯一的查询条件中删除多行

所以我知道在MySQL中可以在一个查询中插入多行,如下所示:

INSERT INTO table (col1,col2) VALUES (1,2),(3,4),(5,6)
Run Code Online (Sandbox Code Playgroud)

我想以类似的方式删除多行.我知道可以根据每行完全相同的条件删除多行,即

DELETE FROM table WHERE col1='4' and col2='5'
Run Code Online (Sandbox Code Playgroud)

要么

DELETE FROM table WHERE col1 IN (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

但是,如果我想在一个查询中删除多行,每行都有一组独有的条件,该怎么办?这样的东西就是我要找的东西:

DELETE FROM table WHERE (col1,col2) IN (1,2),(3,4),(5,6)
Run Code Online (Sandbox Code Playgroud)

有谁知道这样做的方法?还是不可能?

mysql unique-constraint multiple-records

61
推荐指数
2
解决办法
11万
查看次数

如何基于2列创建SQL唯一约束?

我有一个像这样的表:

|UserId   |  ContactID |  ContactName 
---------------------------------------
| 12456   |  Ax759     |  Joe Smith
| 12456   |  Ax760     |  Mary Smith
| 12458   |  Ax739     |  Carl Lewis
| 12460   |  Ax759     |  Chuck Norris
| 12460   |  Bx759     |  Bruce Lee
Run Code Online (Sandbox Code Playgroud)

我需要为此表添加一个约束,以便没有用户可以拥有重复的联系人ID.用户正在从各种外部系统导入数据,因此ContactId不是全面唯一的,但在每个用户的基础上是唯一的.

我知道如何基于单列创建唯一和非空的约束,但是如何在2列中创建唯一的约束?

sql-server sql-server-2005 constraints unique-constraint sql-server-2008

57
推荐指数
3
解决办法
5万
查看次数

IntegrityError重复键值违反唯一约束 - django/postgres

关于我之前问过的一个问题,我正在跟进,我试图寻求从一个愚蠢/写得不好的mysql查询到postgresql的转换.我相信我成功了.无论如何,我正在使用手动从mysql数据库移动到postgres数据库的数据.我正在使用看起来像这样的查询:

  """
  UPDATE krypdos_coderound cru

  set is_correct = case 
      when t.kv_values1 = t.kv_values2 then True 
      else False 
      end

  from 

  (select cr.id, 
    array_agg(
    case when kv1.code_round_id = cr.id 
    then kv1.option_id 
    else null end 
    ) as kv_values1,

    array_agg(
    case when kv2.code_round_id = cr_m.id 
    then kv2.option_id 
    else null end 
    ) as kv_values2

    from krypdos_coderound cr
     join krypdos_value kv1 on kv1.code_round_id = cr.id
     join krypdos_coderound cr_m 
       on cr_m.object_id=cr.object_id 
       and cr_m.content_type_id =cr.content_type_id 
     join krypdos_value kv2 on kv2.code_round_id = cr_m.id

   WHERE
     cr.is_master= …
Run Code Online (Sandbox Code Playgroud)

django postgresql database-integrity duplicates unique-constraint

55
推荐指数
6
解决办法
4万
查看次数

SQL唯一varchar区分大小写的问题

我正在尝试使用单词列表填充SQL表.表本身很简单:

CREATE TABLE WORDS(
  ID BIGINT AUTO_INCREMENT, 
  WORD VARCHAR(128) NOT NULL UNIQUE, 
  PRIMARY KEY(ID)
);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是:当我执行以下插入时,背靠背

INSERT INTO WORDS(WORD) VALUES('Seth');
INSERT INTO WORDS(WORD) VALUES('seth');
Run Code Online (Sandbox Code Playgroud)

第二个插入失败,出现约束违规("键'WORD'的重复输入'seth'").

如何使UNIQUE约束WORD区分大小写?

mysql sql varchar case-sensitive unique-constraint

54
推荐指数
2
解决办法
4万
查看次数

如何在Ruby on Rails中验证一对id的唯一性?

假设在Ruby中进行以下数据库迁移:

    create_table :question_votes do |t|
      t.integer :user_id
      t.integer :question_id
      t.integer :vote

      t.timestamps
    end

进一步假设我希望DB中的行包含唯一(user_id,question_id)对.为了实现这一目标,在模型中投入的正确粉尘是什么?

validates_uniqueness_of :user_id, :question_id
似乎只是通过用户ID使行唯一,并且通过问题ID使其唯一,而不是由对唯一.

validation model ruby-on-rails unique-constraint

50
推荐指数
5
解决办法
3万
查看次数

MySQL:ALTER IGNORE TABLE给出"完整性约束违规"

我正在尝试使用ALTER IGNORE TABLE + UNIQUE KEY从MySQL表中删除重复项.MySQL文档说:

IGNORE是标准SQL的MySQL扩展.如果新表中的唯一键上存在重复项,或者启用了严格模式时出现警告,它将控制ALTER TABLE的工作方式.如果未指定IGNORE,则复制将中止并在发生重复键错误时回滚.如果指定了IGNORE,则只使用第一行在唯一键上具有重复项的行.其他冲突的行将被删除.不正确的值将截断为最接近的匹配可接受值.

当我运行查询时......

ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field)
Run Code Online (Sandbox Code Playgroud)

...我仍然收到错误#1062 - 关键'dupidx'重复输入'blabla'.

mysql unique-constraint

47
推荐指数
2
解决办法
3万
查看次数

Grails域类:多列的唯一约束

假设一个简单的Grails域类:

class Account {
    String countryId;

    String userName;

    String password;

    static constraints = {
        ...???...
    }
}
Run Code Online (Sandbox Code Playgroud)

要求用户名对于特定countryId是唯一的,因此在两列上必须存在唯一约束.如何在约束定义中表达这一点?

orm grails unique-constraint grails-validation grails-domain-class

46
推荐指数
1
解决办法
2万
查看次数

唯一约束与唯一索引

我有兴趣了解开发人员更喜欢使用哪种技术来强制SQL Server中的唯一性:UNIQUE CONSTRAINT或UNIQUE INDEX.鉴于每种物理实现方式差异不大,您如何确定哪种方法最佳?

是否有其他原因可以评估最佳解决方案?

一个或另一个有数据库管理优势吗?

sql-server database-design unique-index unique-constraint

43
推荐指数
3
解决办法
2万
查看次数