Questions tagged «constraints»

约束是在给定上下文中必须满足的条件。约束通常用于数据库和编程语言中,以检测错误,确保数据一致性,准确性并执行业务需求。

11
如何将接口用作C#通用类型约束?
有没有办法获取以下函数声明? public bool Foo<T>() where T : interface; 即。其中T是接口类型(类似于where T : class和struct)。 目前,我已经满足: public bool Foo<T>() where T : IBase; IBase被定义为一个空接口,所有我的自定义接口都继承了该接口...不太理想,但它应该可以工作...为什么不能定义泛型类型必须是接口? 对于它的价值,我想Foo要这样做,因为是在需要接口类型的地方进行反射...我可以将其作为常规参数传入,并在函数本身中进行必要的检查,但这似乎要类型安全得多(而且我假设性能更高一点,因为所有检查都是在编译时完成的)。

3
如何添加“在删除级联”约束?
在PostgreSQL 8中,是否可以ON DELETE CASCADES在下表中添加两个外键而不删除后者? # \d scores Table "public.scores" Column | Type | Modifiers ---------+-----------------------+----------- id | character varying(32) | gid | integer | money | integer | not null quit | boolean | last_ip | inet | Foreign-key constraints: "scores_gid_fkey" FOREIGN KEY (gid) REFERENCES games(gid) "scores_id_fkey" FOREIGN KEY (id) …

4
我可以在SQL Server的添加列语句中创建命名默认约束吗?
在SQL Server中,我在表上有一个新列: ALTER TABLE t_tableName ADD newColumn NOT NULL 失败是因为我指定了NOT NULL而未指定默认约束。该表不应具有默认约束。 为了解决这个问题,我可以使用默认约束创建表,然后将其删除。 但是,似乎没有任何方法可以指定默认约束作为此语句的一部分,因此,要摆脱它,我唯一的方法是在sys.default_constraints中查找一个存储过程。表。 对于可能经常发生的操作而言,这有点混乱/冗长。有人对此有更好的解决方案吗?



4
SQLite中的“如果不存在则插入”语句
我有一个SQLite数据库。我试图在表中插入值(users_id,lessoninfo_id)bookmarks,前提是两个值都不连续存在。 INSERT INTO bookmarks(users_id,lessoninfo_id) VALUES( (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'), (SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") WHERE NOT EXISTS ( SELECT users_id,lessoninfo_id from bookmarks WHERE users_id=(SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=( SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+"))) 这给出了一个错误说: db错误在哪里语法附近。


3
唯一约束,允许在MySQL中使用空值
我有一个存储产品代码的字段。该代码是唯一的,但是某些产品根本没有代码。我无法发明代码,因为它们是提供商代码。 在MySQL中这种约束可能吗? 我是一个存储过程和触发器的菜鸟,所以如果解决方案涉及其中之一,请耐心等待。 更新:列不为空。这就是为什么我无法做到这一点。

4
从通用基类继承,应用约束并在C#中实现接口
这是一个语法问题。我有一个泛型类,它是从泛型基类继承的,并且将约束应用于类型参数之一。我还希望派生类实现一个接口。对于我的一生,我似乎无法找出正确的语法。 这就是我所拥有的: DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... } 我想到的第一件事是: DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... } 但这是不正确的,因为这导致T2需要同时实现IBar和IFoo,而不是DerivedFoo来实现IFoo。 我尝试了一些谷歌搜索,冒号,分号等的使用,但是结果却很短。我确定答案很简单。

2
PostgreSQL:条件唯一约束
我想添加一个约束,该约束仅在表的一部分中对列强制实施唯一性。 ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null); 在WHERE上面的部分是一厢情愿的想法。 有什么办法吗?还是我应该回到关系绘图板上?

6
显示Oracle SQL中表的所有约束的名称
我为在Oracle SQL中创建的多个表的每个约束定义了一个名称。 问题是要为特定表的列删除约束,我需要知道为每个约束提供的名称,而我忘记了。 如何列出为表的每一列指定的所有约束名称? 有没有这样做的SQL语句?

4
如何在NULL列上创建唯一索引?
我正在使用SQL Server2005。我想将一列中的值限制为唯一,同时允许NULLS。 我当前的解决方案涉及到如下视图的唯一索引: CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULL CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1) 还有更好的主意吗?

1
创建表时声明默认约束
我正在通过编写代码而不是使用GUI在Microsoft SQL Server 2000中创建一个新表,我试图学习如何“手动方式”进行操作。 这是我实际使用的代码,它可以正常工作: CREATE TABLE "attachments" ( "attachment_id" INT NOT NULL, "load_date" SMALLDATETIME NOT NULL, "user" VARCHAR(25) NOT NULL, "file_name" VARCHAR(50) NOT NULL, CONSTRAINT "pk_attachments" PRIMARY KEY ("attachment_id"), CONSTRAINT "fk_users" FOREIGN KEY ("user") REFERENCES "users" ("user"), CONSTRAINT "ch_load_date" CHECK ("load_date" < GETDATE()) ) 我已经自行指定了主键,外键和检查约束,因为这样可以为它们定义一个名称,否则内联声明它们将使SQL Server生成一个随机名称,并且我不喜欢它。 当我尝试声明默认值约束时,出现了问题:查看Internet上的信息以及Microsoft SLQ Server …

9
什么是数据库约束?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 什么是数据库约束的明确定义?为什么约束对数据库很重要?约束的类型有哪些?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.