标签: database-integrity

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万
查看次数

Rails 3:验证组合值

在Rails 2.x中,您可以使用验证来确保您具有如下所示的唯一组合值:

validates_uniqueness_of :husband, :scope => :wife
Run Code Online (Sandbox Code Playgroud)

在相应的迁移中,它可能如下所示:

add_index :family, [:husband, :wife], :unique => true
Run Code Online (Sandbox Code Playgroud)

这将确保丈夫/妻子组合在数据库中是唯一的.现在,在Rails 3中,验证语法发生了变化,范围属性似乎消失了.它现在看起来像:

validates :husband, :presence => true
Run Code Online (Sandbox Code Playgroud)

知道如何在Rails 3中实现组合验证吗?Rails 2.x验证仍然可以在Rails 3中使用,所以我仍然可以使用第一个示例,但它看起来很"旧",有更好的方法吗?

validation ruby-on-rails database-integrity validates-uniqueness-of ruby-on-rails-3

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

SQL Server:如何使服务器检查其所有检查约束?

看起来Enterprise Manager*生成的一些脚本(或者没有,它们无关紧要)创建了检查约束WITH NOCHECK.

现在,当任何人修改表时,SQL Server都会遇到失败的检查约束,并抛出错误.

我可以让SQL通过它的所有检查约束,并检查它们吗?

运行:

sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'
Run Code Online (Sandbox Code Playgroud)

只启用以前禁用的检查约束,它实际上不会检查它们.

脚注

*SQL Server 2000

sql-server sql-server-2000 database-integrity check-constraints sp-msforeachtable

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

数据完整性和数据一致性之间有什么区别吗?

我有点困惑data consistencydata integrity.来自Oracle数据库概念:

data integrity
--------------
Business rules that dictate the standards for acceptable data. These rules
are applied to a database by using integrity constraints and triggers to
prevent invalid data entry.
Run Code Online (Sandbox Code Playgroud)

来自维基百科

Consistency
-----------
Consistency states that only valid data will be written to the database.
Run Code Online (Sandbox Code Playgroud)

那么data consistency和之间的区别是data integrity什么?

提前致谢.

database transactions database-integrity data-consistency

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

"SET FOREIGN_KEY_CHECKS = 0;" Oracle等效

是否有一些等效的Mysql特定指令禁用外键约束的检查?
SET FOREIGN_KEY_CHECKS = 0;

oracle key database-integrity

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

如何更安全地使用 MyISAM 表?

我喜欢 InnoDB 的安全性、一致性和自检性。

但我需要 MyISAM 的速度和轻量级。

我怎样才能使 MyISAM 不太容易因崩溃、错误数据等而损坏?通过检查(检查表或myisamchk)需要很长时间。

我不是在要求事务安全——这就是 InnoDB 的用途。但我确实想要一个可以快速重启而不是几小时(或几天!)之后的数据库。

更新:我不是在问如何更快地将数据加载到表中。我已经对此表示反对,并确定将 MyISAM 表用于我的 LOAD DATA 会快得多。我现在所追求的是降低使用 MyISAM 表的风险。也就是说,减少损坏的机会,提高恢复速度。

mysql myisam innodb database-integrity

5
推荐指数
1
解决办法
3395
查看次数