标签: unique-constraint

SQL Server唯一约束问题

如何在visual studio中的varchar(max)字段上创建唯一约束.

问题是我试试的时候:

管理索引和键>添加>列

我只能选择bigint列,但不能选择任何varchar(max)列.

我是否可能必须使用检查约束

如果是的话,在表达中放什么?

Thnx的信息

sql sql-server visual-studio-2010 unique-constraint

16
推荐指数
1
解决办法
1万
查看次数

MySQL:使列唯一?

我有一张正在制作的桌子.我意识到一些列应该是唯一的.进入phpMyAdmin并更改这些列以使其独一无二是否安全?

ALTER TABLE  `foo` ADD UNIQUE ( `bar` )
Run Code Online (Sandbox Code Playgroud)

mysql phpmyadmin unique-constraint

16
推荐指数
2
解决办法
5万
查看次数

PostgreSQL独特约束中的多个可空列

我们有一个遗留数据库模式,有一些有趣的设计决策.直到最近,我们才支持Oracle和SQL Server,但我们正在尝试添加对PostgreSQL的支持,这引发了一个有趣的问题.我搜索了Stack Overflow和其他互联网,我不相信这种特殊情况是重复的.

对于唯一约束中的可空列,Oracle和SQL Server的行为都相同,这实际上是在执行唯一检查时忽略NULL列.

假设我有以下表格和约束:

CREATE TABLE EXAMPLE
(
    ID TEXT NOT NULL PRIMARY KEY,
    FIELD1 TEXT NULL,
    FIELD2 TEXT NULL,
    FIELD3 TEXT NULL,
    FIELD4 TEXT NULL,
    FIELD5 TEXT NULL,
    ...
);

CREATE UNIQUE INDEX EXAMPLE_INDEX ON EXAMPLE
(
    FIELD1 ASC,
    FIELD2 ASC,
    FIELD3 ASC,
    FIELD4 ASC,
    FIELD5 ASC
);
Run Code Online (Sandbox Code Playgroud)

在Oracle和SQL Server上,保留任何可为空的列NULL将导致仅对非空列执行唯一性检查.所以以下插入只能执行一次:

INSERT INTO EXAMPLE VALUES ('1','FIELD1_DATA', NULL, NULL, NULL, NULL );
INSERT INTO EXAMPLE VALUES ('2','FIELD1_DATA','FIELD2_DATA', NULL, NULL,'FIELD5_DATA');
-- These will succeed when they should violate …
Run Code Online (Sandbox Code Playgroud)

sql postgresql null database-design unique-constraint

16
推荐指数
3
解决办法
3875
查看次数

插入期间唯一的约束违规:为什么?(Oracle)的

我正在尝试在表格中创建一个新行.表上有两个约束 - 一个在关键字段(DB_ID)上,另一个约束一个值为字段ENV中的几个之一.当我执行插入操作时,我不会将键字段包含为我要插入的字段之一,但是我收到此错误:

unique constraint (N390.PK_DB_ID) violated
Run Code Online (Sandbox Code Playgroud)

这是导致错误的SQL:

insert into cmdb_db 
   (narrative_name, db_name, db_type, schema, node, env, server_id, state, path) 
values 
   ('Test Database', 'DB', 'TYPE', 'SCH', '', 'SB01', 381, 'TEST', '')
Run Code Online (Sandbox Code Playgroud)

我唯一能够看到的是,如果手动插入行,Oracle可能会尝试分配已经在使用的DB_ID.此数据库中的数据以某种方式从生产数据库中恢复/移动,但我没有详细说明如何完成.

有什么想法吗?

oracle unique-constraint

15
推荐指数
1
解决办法
10万
查看次数

如何持久化@ManyToMany关系 - 重复条目或分离实体

我想用ManyToMany关系来保持我的实体.但是在持久化过程中我遇到了一些问题.

我的实体:

@Entity
@Table(name = "USER")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long userId;

    @Column(name = "NAME", unique = true, nullable = false)
    String userName;

    @Column(name = "FORNAME")
    String userForname;

    @Column(name = "EMAIL")
    String userEmail;

    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinTable(name = "USER_USER_ROLES", joinColumns = @JoinColumn(name = "ID_USER"), inverseJoinColumns = @JoinColumn(name = "ID_ROLE"))
    List<UserRoles> userRoles = new ArrayList<UserRoles>();

    // getter et setter
}
Run Code Online (Sandbox Code Playgroud)

@Entity …
Run Code Online (Sandbox Code Playgroud)

java many-to-many jpa duplicates unique-constraint

15
推荐指数
2
解决办法
3万
查看次数

Neo4j 2.0唯一约束错误"节点已经存在",当它没有

我在使用neo4j唯一约束方面遇到了一些麻烦,其中CREATE cypher语句由于节点已经存在而无法执行.问题是,它不存在(存在).此外,这个确切的过程与昨天的确切数据有关.

我的neo4j版本是ubuntu 12.04.3上的社区2.0.0(发布).这是我目前的情况:

我的约束:

tas@vtas:~$ neo4j-shell
neo4j-sh (?)$ schema
Indexes
  ON :ConsumerUser(tokens) ONLINE
  ON :Id(uuid)             ONLINE (for uniqueness constraint) #relevant
  ON :User(email)          ONLINE (for uniqueness constraint)
  ON :User(username)       ONLINE (for uniqueness constraint) 

Constraints
  ON (user:User) ASSERT user.email IS UNIQUE
  ON (user:User) ASSERT user.username IS UNIQUE
  ON (id:Id) ASSERT id.uuid IS UNIQUE                         #relevant
Run Code Online (Sandbox Code Playgroud)

:Id.uuid应该是唯一的.

我没有任何数据:

neo4j-sh (?)$ dump
begin
create index on :`ConsumerUser`(`tokens`);
create index on :`Id`(`uuid`);
create index on :`User`(`email`);
create index on :`User`(`username`);
;
Run Code Online (Sandbox Code Playgroud)

(也用cypher验证MATCH (n) return …

constraints unique-constraint neo4j cypher

15
推荐指数
1
解决办法
2569
查看次数

如何在Ruby on Rails 3中的MySQL表的列上定义"唯一"约束?

我有一列一个简单的MySQL表:name.

我想在此列上定义一个唯一约束.

我可以:

class MyModel < ActiveRecord::Base
  validates_uniqueness_of :my_column_name
end
Run Code Online (Sandbox Code Playgroud)

但它只能在应用程序级别工作,而不能在数据库级别工作.

你会建议什么?

mysql ruby-on-rails unique unique-constraint ruby-on-rails-3

14
推荐指数
2
解决办法
1万
查看次数

UNIQUE约束,仅当字段包含特定值时

我正在尝试为两列创建一个UNIQUE INDEX约束,但仅当另一列包含值1.例如,column_1并且column_2只有当时才应该是UNIQUE active = 1.包含任何行active = 0可以共享价值观column_1column_2与另一行,不管其它行的价值是什么active是.但行active = 1不能共享column_1column_2具有的另一行的值active = 1.

我所说的"共享"是两行在同一列中具有相同的值.示例:row1.a = row2.a AND row1.b = row2.b. 仅当row1中的两列与row2中的其他两列匹配时,才会共享值.

我希望我清楚自己.:\

mysql unique-constraint

14
推荐指数
3
解决办法
6495
查看次数

Postgres UNIQUE CONSTRAINT用于数组

如何创建对数组中所有值的唯一性的约束,如:

CREATE TABLE mytable
(
    interface integer[2],
    CONSTRAINT link_check UNIQUE (sort(interface))
)
Run Code Online (Sandbox Code Playgroud)

我的排序功能

create or replace function sort(anyarray)
returns anyarray as $$
select array(select $1[i] from generate_series(array_lower($1,1),
array_upper($1,1)) g(i) order by 1)
$$ language sql strict immutable; 
Run Code Online (Sandbox Code Playgroud)

我需要的是值{10,22}和{22,10}被认为是相同的并且在UNIQUE CONSTRAINT下检查

arrays postgresql unique-constraint

14
推荐指数
3
解决办法
4889
查看次数

将唯一索引更改为唯一索引

我有一些非独特的约束,我想改变成唯一约束(业务规则自数据模型制定以来已经改变).有没有办法在删除和重新创建作为唯一约束的情况下执行此操作?我在想这个alter constraint命令会有一个选项,但我没找到任何东西.

谢谢!!

oracle constraints oracle10g unique-constraint

13
推荐指数
2
解决办法
3万
查看次数