问题标签 [check-constraints]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1495 浏览

sql-server - 是否可以使用 JPA 定义 XOR 约束?

我需要在使用 JPA 的实体上定义 XOR 约束,即指定您可以在 A 列或 B 列中具有值但不能同时具有值​​的约束(但至少其中一个)。似乎可以在 MsSQL 数据库上手动执行此操作,如下所示,但理想情况下,我更喜欢使用 JPA 注释在实体上定义它。

这可能吗?

0 投票
1 回答
2752 浏览

sql-server - 没有检查约束的 SQL Server 枚举?

我正在尝试在我的 MySQL 转换过程中为 SQL Server 中的 ENUM 数据类型找到替代方案。我知道检查约束存在,但我希望简单地创建新表来完全替换枚举对象。所以目标的要点:

C# 可以根据需要轻松调用这些值。有什么办法可以做到这一点?还是我必须使用支票?

0 投票
6 回答
10697 浏览

sql - 哪些 SQL 数据库支持 CHECK 约束中的子查询?

哪些 SQL 数据库(如果有)支持 CHECK 约束中的子查询?

目前,据我所知,Oracle、MySQL 和 PostgreSQL 没有。

编辑

(基于初步答案的澄清。)我正在寻找这样的东西:

更新

MS Access 和 Firebird 都支持此功能。

0 投票
2 回答
2403 浏览

sql-server - SQL Server 中是否可以使用正则表达式检查约束

我正在尝试找到一种方法来使用正则表达式 CHECK 约束来验证我的列中的数据,但到目前为止,我只遇到了LIKE具有极其有限的正则表达式语法子集的关键字。我想知道是否有办法在检查约束中使用正则表达式?

我正在使用 SQL Server 2005 和 2008。

0 投票
1 回答
253 浏览

nhibernate - 使用 AbstractTransactionalSpringContextTests(回滚)时未捕获具有约束检查错误的测试

我的大多数集成测试都使用 springAbstractTransactionalSpringContextTests进行回滚而不是提交到数据库。这通常工作得很好,但是因为直到提交阶段才应用外键约束,所以我的测试策略存在漏洞。

如何改进我的测试?

如果可能的话,我想避免提交,因为这会导致测试需要更长的时间来运行(当有很多时)

0 投票
1 回答
270 浏览

postgresql - 为什么我的子表上的 CHECK CONSTRAINTS 没有被计划者用来减小计划的大小?

我有一个按月分区的表,用于保存 apache 日志信息。当我为一个简单查询运行 EXPLAIN 时,该查询在与分区 CHECK 相同的字段上具有 WHERE 子句,无论 constraint_exclusion 是打开还是关闭,我都会得到相同的计划。下面是 2010 年 2 月和 3 月的主表信息和两个子表信息示例。总体而言,从 2010 年 2 月到 2011 年 6 月,每个月都有一个子表。平均每个子表有大约 1 亿条记录。下面也是一个简单查询的 EXPLAIN 的输出,一次打开约束排除,一次关闭。不幸的是,CHECK 约束没有被用来减小计划的大小。这是因为 request_dt 数据类型是 TIMESTAMP WITH TIME ZONE 但 CHECK 约束是 DATES 吗?还有其他想法吗?我还没有在 request_dt 上创建索引,但是根据文档,这不是必需的。我将添加它们,但我认为它们不会影响 CHECK 约束的使用。

我正在使用 Postgres 8.3.6。

0 投票
1 回答
1916 浏览

sql - T-SQL:检查约束不起作用

我有以下 T-SQL 架构。我遇到的问题是Download表上的检查约束不起作用。我仍然能够将包含和NULL的值的记录插入到该表中。为什么会这样?ProductIdCategoryId

我希望ProductIdCategoryId列都允许NULL值,但是对于任何给定的记录,只允许将其中一个设置为NULL,另一个需要是CategoryorProduct表的相应 ID。

0 投票
3 回答
7699 浏览

sql - 是否可以使用 SQL 约束来防止在条件成立时更改特定值?

我知道 SQL 约束可以强制数据满足有效性标准。但是,诸如“学生的成绩只能在'finalized'标志为假时更新”这样的标准呢?此类更新标准是否必须由应用程序处理?

0 投票
1 回答
165 浏览

sql - 具有定义值的唯一约束

鉴于以下示例表结构,有没有办法添加到唯一约束以确保 (GUID, 'Y') 组合的唯一性?

应用程序逻辑 - 更新guid生成具有相同guid但新的新版本luid;和以前的不活动('Y'->'N')

GUID - 外部 ID
LUID - 内部 ID

0 投票
2 回答
1749 浏览

sql - 编写 CHECK CONSTRAINT 的一种更好的方法来检查一个值是否不为空

想象一下,我有一个包含整数列 Col1、Col2、Col3、Col4 的表。每列都可以为空,并且有效行必须包含恰好 1 列中的值(即所有空值都无效,多于 1 列也是无效的)。

目前我有这样的检查约束

它有效,但令我震惊的是,可能有一种更优雅的方式来实现相同的结果(例如,这个提问者想要检查至少 1 个字段不为空,并且COALESCE关键字在这种情况下运行良好)。