unique-constraint相关内容
我有一个列 sort_order ,上面有唯一的约束。 在Postgres 9.5上,以下SQL失败: UPDATE测试 SET sort_order = sort_order + 1; -[23505]错误:重复的键值违反了唯一约束“ test_sort_order_key” -详细信息:键(sort_order)=(2)已存在。 很明显,如果 sort_o
..
我有一个带有列“ position”的表“ items”。位置具有唯一且非空的约束。为了在位置x处插入新行,我首先尝试增加后续项目的位置: 更新项目SET position =位置+ 1,其中位置> = x; 这会导致独特的约束违反: 错误:重复的键值违反了唯一约束 问题似乎是PostgreSQL执行更新的顺序。 PostgreSQL中的唯一约束
..
我有一个类似下面的用户共享模型: class Share(models.Model): sharer = models.ForeignKey(User,verbose_name = _(“ Sharer”),related_name ='sharer') Receiver = models.ForeignKey(User,verbose_name = _(“ Receiver”),re
..
我将表称为cdrs: 创建表cdrs( i_cdr bigint NOT NULL, i_cdrs_connection bigint NOT NULL, i_call bigint NOT NULL, customer_name字符变化(156)NOT NULL, client_name_id字符变化(256)NOT NULL, connection_name字符变化(156
..
我不确定我是否正确表达了这个问题,所以我将尝试更长的解释。我有这种表: 创建表x(a int,b int); 我想将(a,b)对与(b,a)相同,并禁止插入重复项。如果PostgreSQL的数据类型为 ,我可以这样声明表: CREATE TABLE x( ab set, UNIQUE(ab) ); 但事实并非如此,那么最好的方法是什么?
..
是否可以在PostgreSQL中创建创建唯一索引或其他类型的约束的方法,该约束或约束将在事务COMMIT上检查而不是在一毫秒之前进行? 我需要一对(record_id,顺序)的索引,因此我确保在给定的record_id内,只有一个且不超过一个记录具有相同的顺序。问题出在哪里?嗯,问题出在我使用的网络框架处理商品的重新排序方式上。看起来,当一个项目被移动时,当它的排序顺序改变时,框架用新的排序
..
给出Postgres数据库中的以下三列:第一,第二,第三; 例如,如何创建一个排列唯一的约束?如果数据库中存在('foo','bar','shiz'),则('bar','shiz','foo' )将被视为非唯一。 解决方案 您可以使用hstore创建唯一索引: 使用BTREE在测试中创建唯一索引hidx(hstore(ARRAY [a,b,c],ARRAY [a,b ,C]))
..
使用MS SQL Server,以下工作正常: 创建表#temptable(mykey int主键) 插入#temptable值(1) 插入#temptable值(2) 更新#temptable设置mykey = mykey + 1 但是,使用PostgreSQL,以下操作失败: 创建表pg_temp.tbl_test(testkey整数主键) 插入pg
..
我想添加一个约束,该约束仅在表的一部分中对列强制实施唯一性. ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null); 上面的WHERE部分是一厢情愿. 有什么办法吗?还是我应该回到关系绘图板上? 解决方案 PostgreSQL未定义部分(即有条件的)UNIQUE约束-但是,您可以创建
..
这里是触发器的代码,它有一个for循环.触发触发器(INSERT或UPDATE)时,必须有另一个表数据包括MICL_SUP OPEN projMgrsCursor; LOOP FETCH projMgrsCursor INTO projMgr; select micl_sup_id_seq.nextval into SUPID fro
..
我正在尝试检查要插入系统的房间在那个日期是否已经出租.我已经计算过与房间号和日期都匹配的行,然后回滚了事务.但是,即使我更改了代码以引发用户定义的异常,也遇到了以下错误: ERROR: cannot begin/end transactions in PL/pgSQL HINT: Use a BEGIN block with an EXCEPTION clause instead. CON
..
我已经搜索过Google,但是运气不佳,所以也许SO可以帮上忙.我正在为几个项目开发一个用户身份验证系统,并且需要确保电子邮件地址(也就是用户名)是唯一的. 我在MySQL查询中将该字段设置为唯一,但是如果提供的电子邮件与现有记录匹配,我需要一种方法来取消SQL查询并通知用户“指定的电子邮件已在使用中". 我可以在插入之前进行选择查询,但是我想知道是否有一种方法可以编写SQL查询,以便
..
我有一个实体,对3个领域有唯一的约束. 2个字段不可为空,第三个字段可为空. 我的问题,当第三个字段为空时,唯一约束不起作用,因此我可以在数据库中包含一些重复的值,例如(5,1,null)(5,1,null) 对我来说,(5,1,null)是一个唯一值,也为null. 您有什么想法吗? 这是我的ORM行: * @ORM\Table(name="table", u
..
在Oracle 10g中,如何在两个varchar字段上添加唯一的不区分大小写的约束?例如,给定表中已存在以下记录: "Stephen", "Swensen" "John", "Smith" 以下插入内容无效: "stephen", "Swensen" "John", "smith" "stephen", "swensen" 但是以下插入内容将是有效的: "Stephen
..
当我需要将空值视为相等时,如何创建唯一约束. 对于 更改表T1添加约束T1_UN 唯一(nvl(C1,'')) 我明白了 ORA-00904: : invalid identifier nvl上的点 谢谢! 解决方案 NOT NULL似乎是一个更好的主意,但是您可以使基于函数的索引唯一: create unique index idx_t1 on
..
我正在使用D2k 6i表单,并从存储的数据库(oracle9i)过程ORA-00001中获得表单上的错误:违反了唯一约束(.),但我无法找出它来自哪个过程. 有人可以帮我吗 解决方案 经过大量研究(头部撞牙和咬牙切齿),我遇到了这种模式: CREATE OR REPLACE PACKAGE BODY my_schema.package_name IS PROCEDURE foo
..
DELETE from dbo.T_LIAV_AGENT_STATE_APPROVAL SAP WHERE EXISTS (SELECT UNIQUE 1 FROM MCS_SYNC_STATE_APPR APP inner join MCS_SYNC_NAME SN on SN.SE_NAME_ID = APP.SE_NAME_ID
..
我正在尝试在表中创建新行.表上有两个约束-一个约束在键字段(DB_ID)上,另一个约束将值限制为ENV字段中的几个.当我执行插入操作时,我没有将键字段作为要插入的字段之一,但是却出现此错误: unique constraint (N390.PK_DB_ID) violated 以下是导致错误的SQL: insert into cmdb_db (narrative_name,
..
我正在使用一个oracle表,并在四列上创建了唯一约束.约束中的这些列可以包含NULL吗? 解决方案 您可以在列中包含NULL,除非将这些列指定为NOT NULL.但是,您将只能存储一个NULL实例(除非所有列均为NULL,否则不允许两组相同的列): SQL> CREATE TABLE t (id1 NUMBER, id2 NUMBER); Table created SQL> A
..
有人可以帮我吗? id | Name -------- 1 | aaa 2 | bbb 3 | aaa >alter table arc add CONSTRAINT uk_arc UNIQUE (NAME) novalidate error :ora-02299: cannot validate( .uk_arc ) - duplicate keys found 我正在使用n
..