Tag: 唯一约束

SQLite表约束 – 在多列上唯一

我可以在SQLite网站上find这个语法“图表”,但没有例子和我的代码崩溃。 我有其他表在单个列上具有唯一约束,但我想要添加一个约束到两列的表。 这就是我所引起的SQLiteException消息“语法错误”。 CREATE TABLE name (column defs) UNIQUE (col_name1, col_name2) ON CONFLICT REPLACE 我正在做这个基于以下几点: 表约束 要清楚,我提供的链接上的文档说, CONTSTRAINT name应该在我的约束定义之前。 可能导致解决scheme的东西是,无论跟在括号内的列定义是debugging器抱怨什么。 如果我放 …last_column_name last_col_datatype) CONSTRAINT … 错误接近“CONSTRAINT”:语法错误 如果我放 …last_column_name last_col_datatype) UNIQUE … 错误接近“UNIQUE”:语法错误

MySQL:ALTER IGNORE TABLE给出“完整性约束违规”

我试图从ALTER IGNORE TABLE +一个唯一的键删除MySQL表中的重复项。 MySQL文档说: IGNORE是标准SQL的MySQL扩展。 它控制着如果新表中的唯一键上有重复,或者如果启用严格模式时发生警告,ALTER TABLE如何工作。 如果未指定IGNORE,则复制被中止并在发生重复键错误时回退。 如果指定了IGNORE,则只有第一行用于具有唯一键上重复的行。 其他冲突的行被删除。 不正确的值被截断为最接近匹配的可接受值。 当我运行查询… ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field) …我仍然得到错误#1062 – 关键'dupidx'的重复条目'blabla' 。

PostgreSQL对数组元素有唯一性约束吗?

我试图为当前在LDAP存储中的主机数据提出一个PostgreSQL模式。 部分数据是机器可以拥有的主机名称列表,该属性通常是大多数人用来查找主机logging的关键。 我希望摆脱这种数据到RDBMS的一件事是能够设置主机名列的唯一性约束,以便重复的主机名不能分配。 如果主机只能有一个名字,那么这很容易,但是由于它们可以有多个,所以它更复杂。 我意识到完全规范化的方法是使用外键指向主机表的主机名表,但是我希望避免每个人都需要为最简单的查询进行连接: select hostnames.name,hosts.* from hostnames,hosts where hostnames.name = 'foobar' and hostnames.host_id = hosts.id; 我想使用PostgreSQL数组可以为此工作,他们当然使简单的查询简单: select * from hosts where names @> '{foobar}'; 当我在hostnames属性上设置唯一性约束时,它当然会将整个名称列表视为唯一值而不是每个名称。 有没有办法让每个行中的每个名称都是唯一的呢? 如果不是的话,有没有人知道另一种更有意义的数据build模方法?

如何删除重复的条目?

我必须添加一个唯一的约束到现有的表。 这很好,除了表已经有数百万行了,许多行违反了我需要添加的唯一约束。 什么是删除违规行最快的方法? 我有一个SQL语句,它find重复项并删除它们,但它是永远运行。 有没有另一种方法来解决这个问题? 也许备份表,然后在添加约束后恢复?

entity framework代码中的唯一约束优先

题 是否有可能使用stream利的语法或属性定义一个属性的唯一约束? 如果没有,解决方法是什么? 我有一个主键的用户类,但我想确保电子邮件地址也是唯一的。 这可能没有直接编辑数据库? 解决scheme(基于马特的回答) public class MyContext : DbContext { public DbSet<User> Users { get; set; } public override int SaveChanges() { foreach (var item in ChangeTracker.Entries<IModel>()) item.Entity.Modified = DateTime.Now; return base.SaveChanges(); } public class Initializer : IDatabaseInitializer<MyContext> { public void InitializeDatabase(MyContext context) { if (context.Database.Exists() && !context.Database.CompatibleWithModel(false)) context.Database.Delete(); if (!context.Database.Exists()) { context.Database.Create(); […]

MySQL – 使现有的字段唯一

我有一个已经存在的表应该是唯一的,但不是。 我只知道这一点,因为一个条目与另一个已经存在的条目具有相同的值,这导致了问题。 我如何使这个领域只接受独特的价值观?

我如何指定MySQL中的多个列的唯一约束?

我有一张桌子: table votes ( id, user, email, address, primary key(id), ); 现在我想使用户,电子邮件,地址唯一(一起)。 我如何在MySql中做到这一点? 当然这个例子只是一个例子。 所以请不要担心语义。