MsSql Compact,对两列或更多列的唯一约束

问题描述 投票:3回答:2

家伙! MsSql Compact具有在两个或多个列上都创建复合唯一索引(只是约束,不是主键)的功能吗?

col 1 col21 21 2-插入/更新必须生成异常

我没有通过服务器资源管理器的设计器看到此功能

sql-server-ce
2个回答
5
投票
CREATE UNIQUE INDEX ixMultiCol ON MyTable (col1, col2);

0
投票

唯一约束可以在唯一索引下使用,但是唯一索引不是唯一约束。唯一性约束可防止在相关表列中出现重复项,而唯一性索引可能只是悄悄地跳过了重复项值。]

虽然最初的问题与唯一约束有关,但正确的答案应该是:

CREATE TABLE myTable (
   col1 int NOT NULL UNIQUE, -- single-column UNIQUE constraint
   col2 int NULL,

   CONSTRAINT myConstraint UNIQUE (col1, col2) -- multi-column UNIQUE constraint
);
GO

唯一索引可以对任何列使用DESC后缀,但是SQL Server CE中的唯一约束不能。还请注意,CONSTRAINT myConstraint部分是可选的-see

© www.soinside.com 2019 - 2024. All rights reserved.