问题标签 [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 投票
5 回答
6605 浏览

sql - 在 SQL Server 2005 中,如何设置一列整数以确保值大于 0?

这可能是一个简单的答案,但我找不到。我有一个包含一列整数的表,我想确保在插入一行时该列中的值大于零。我可以在代码方面做到这一点,但认为最好在桌面上强制执行。

谢谢!

我的上一条评论有误,现在一切都很好。

0 投票
6 回答
4058 浏览

sql - 插入引用其他两个表的第三个表时,如何检查两个表之间的约束?

考虑这个示例模式:

基本上,三个表:

  • 具有主键和一些附加列的客户表
  • 一个员工表有一个主键,一个外键约束引用客户表的主键,代表客户的一个员工。
  • 工作项表,其中存储为客户完成的工作,以及有关为其执行工作的特定员工的信息。

我的问题是。在添加新工作项时,我如何在数据库级别测试员工是否实际上与客户相关联。

例如,如果 Scott(员工)在 Microsoft(客户)工作,而 Jeff(员工)在 StackOverflow(客户)工作,我如何防止有人将工作项添加到数据库中,客户 = Microsoft,员工 = Jeff,哪个没有意义?

我可以使用检查约束或外键来完成它,还是需要一个触发器来手动测试它?

应该提到我使用的是 SQL Server 2008。

更新:我应该添加 WorkItem.EmployeeId 可以为空。

谢谢,埃吉尔。

0 投票
8 回答
133924 浏览

sql - WITH CHECK ADD CONSTRAINT 后跟 CHECK CONSTRAINT 与 ADD CONSTRAINT

我正在查看 SQL Server 2008 的 AdventureWorks 示例数据库,我在他们的创建脚本中看到他们倾向于使用以下内容:

紧随其后的是:

我在外键(如这里)、唯一约束和常规CHECK约束中看到了这一点;DEFAULT约束使用我更熟悉的常规格式,例如:

第一种方式与第二种方式之间有什么区别(如果有的话)?

0 投票
3 回答
9480 浏览

oracle - 如何在 SQL 中的两列之间创建检查约束?

我正在尝试创建一个基本工资(BP)表

正如您在结尾附近看到的那样,我想检查是否upperlimit大于lowerlimit,我该怎么做?

0 投票
5 回答
2414 浏览

sql-server - Sql Server Ce 3.5 检查约束

Sql Server ce 是否支持检查约束?我想做类似“ALTER TABLE WITH NOCHECK ADD CONSTRAINT id_range_check CHECK ( BETWEEN and )

这将在“WITH”上给出错误

0 投票
3 回答
1609 浏览

sql-server - TSQL - 如何在插入之前根据不同列中的值检查值?

有没有办法实现一个 CHECK 约束来检查同一个表中不同列中的另一个值的值?具体来说,我想在插入行之前确保要插入的“结帐”日期值大于表中的“签入”日期值。

我可能遗漏了一些细节,所以如果是这种情况,请告诉我。

0 投票
3 回答
24697 浏览

sql-server - SQL Server:如何让服务器检查其所有检查约束?

似乎 Enterprise Manager* 生成的一些脚本(或者不是,没关系)创建了检查约束WITH NOCHECK

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

我可以让 SQL 遍历所有的检查约束并检查它们吗?

跑步:

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

脚注

* SQL Server 2000

0 投票
2 回答
1893 浏览

tsql - 临时表上的 TSQL 约束

非常快速和简单的问题。我正在运行一个脚本来导入数据并声明了一个临时表并将检查约束应用于该表。显然,如果脚本多次运行,我会检查临时表是否已经存在,如果存在,我会删除并重新创建临时表。这也会删除并重新创建我放在临时表上的检查约束吗?

逻辑说是的,但众所周知我对这些事情是错误的。

0 投票
8 回答
113342 浏览

mysql - CHECK constraint in MySQL is not working

First I created a table like

and then inserted values in that table

MySQL doesn't show an error, it accepted the values.

0 投票
2 回答
150 浏览

sql - SQL Server 检查约束并检查登录/退出状态

我有一个用作事件日志的表,并存储用户登录状态、“进入”、“退出”或“拒绝”(有时用户可能会根据外部条件被“拒绝”)。

这是一些示例数据,因此您可以了解表格的外观:

这是一些pseduo检查约束代码,概述了我想做的事情:

基本上:

  • 如果一个人的最后一个状态不是“In” 则可以登录
  • 如果一个人的最后状态不是“退出” ,则他们可以退出
  • 如果一个人的最后一个状态不是“在” ,则他们可能会被拒绝

我不知道检查约束是否是最好的方法,或者我的数据库设计是否允许这种级别的约束;如果我疯了,请告诉我(并建议一种更合适的方法来存储数据和/或确保数据完整性)

注意:我使用的是 SQL-Server 2008