在一个假设的场景中,我是没有表创建特权的用户。我想知道表中的列是否具有 UNIQUE CONSTRAINT 。是否可以在 词典中
查找?我将如何处理?
此处给出的两个答案都缺少一种在列上实施唯一性的方法:通过创建 唯一索引
(而不在列上定义唯一约束)。如果您不熟悉此选项,请参见这两个链接(一个,两个)。
除 唯一约束检查 外 ,还应执行此检查:
select count(*) from
USER_IND_COLUMNS cols
where cols.table_name='YOUR_TABLE_NAME'
and cols.COLUMN_NAME='YOUR_COLUMN';
要检查唯一约束,请使用已经提供的方法:
select count(*) cnt
from user_constraints uc
where uc.table_name='YOUR_TABLE_NAME'
and uc.constraint_type='U';
或者,您也可以在ALL_CONSTRAINTS
和ALL_IND_COLUMNS
视图中查找。
问题内容: 我有这个桌子; 我希望选择这样的行: 任一或= 。 另一个字段应该是唯一的。 即我想从表中选择唯一,或者我需要以下结果: 怎么做? 为什么?因为我希望构建一个类似于Facebook的收件箱,在该收件箱中,已发送和已接收的消息将被聚合,而此查询是迄今为止的瓶颈。 我正在使用Rails 3.2和Postgres 9.3。 问题答案: (not )从结果中删除重复项,从而不必要。您可能希望在
我对Postgres Unique约束有问题,该约束包含多个可能包含空值的列。 让我们假设这种情况: Insert将插入('foo',bar')一次和('foo',NULL)两次(尽管直觉告诉它应该插入一次)。 在这种情况下,解决方案非常简单。我可以添加唯一的索引 但是当有更多的列和不同的类型(不仅仅是文本)时,问题就开始了。假设我们有10列,其中9列可以有值。也许我可以用大量的限制来解决它,但这
时间戳在所有行中是否唯一? 上面有唯一的索引吗?
问题内容: 我有一个要运行验证的SQLAlchemy模型。验证的一部分是确保(少数)列上存在UniqueConstraint。我知道列是什么。使用SQLAlchemy可以做到这一点吗?我正在使用的基础数据库是MySQL。 问题答案: 您可以使用SQLalchemy反射API。 为了获得唯一约束,请发出get_unique_constraints。 主键是唯一的,因此您也必须发出get_pk_con
问题内容: 我想在我的MySQL表上添加一个唯一性约束。该表包含四列: 此约束必须检查对于new行,new和都未包含在或中。 例子 : 有没有办法定义这样的约束? 问题答案: 您可以通过触发器来做到这一点 注意: 由于您使用的MySQL版本缺少技巧,因此当找到具有相同地址的行时,违反对其中一列的约束。 这是 SQLFiddle 演示。取消注释最后一个插入语句之一,然后单击确定。这些插入不会成功。
问题内容: 同一列可以对另一列具有主键和外键约束吗? 如果我尝试删除table1数据,这会成为问题吗? 谢谢。 问题答案: 这应该没有问题。考虑以下示例: 这些表现在包含: 现在我们可以成功删除这样的行: 但是,我们将无法删除以下内容: 如果我们使用选项定义了外键,那么我们将能够删除父项,并且所有子项都将被自动删除: 如果我们要重复之前失败的操作,则将删除其中的子行以及其中的父行: