问题标签 [unique]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1641 浏览

nhibernate - 如何防止使用 nHibernate 插入重复数据?

我正在构建一个博客/CMS 系统(为了好玩,我知道我可以使用很多东西)。
我有一个简单的 Tag 实体,它只有一个 Id (int) 和一个 TagName (string) 属性。我想配置 nHibernate 以便我可以执行以下操作:

我设想 Save(Tag) 做一些类似查找的事情,如果标签已经存在,以某种方式将 tag2 替换为 tag1 的值。nHibernate 有一些魔法可以修改参数的属性,即使它没有作为输出参数传递。有人可以告诉我这里发生了什么以及如何解决这个方法来做我想做的事吗?我试图避免在 tag 参数上使用 out 关键字。

0 投票
4 回答
4637 浏览

sql - 更新重复的 varchars 在 SQL 数据库中是唯一的

我需要更改数据库以在表列上添加唯一约束,但其中的 VARCHAR 数据不是唯一的。

如何通过在现有数据的末尾添加序列号来更新这些重复记录,以便每个值都是唯一的?

例如,我想将 'name' 更改为 'name1'、'name2'、'name3'

0 投票
8 回答
3394 浏览

php - 生成简短且唯一的文件/文件夹名称的好方法是什么?

标准基本上是这样的:

  • 文件夹将存在约 24-48 小时
  • 文件夹名称不容易被用户猜到(如果在 URL 中使用)
  • 文件夹名称应短 5-15 个字符

初步想法:

细节:上传文件时,我基本上想保持上传者命名的唯一文件名,所以为了避免任何命名冲突,我想把它放在一个唯一命名的目录中......

0 投票
3 回答
7570 浏览

oracle - 我可以在 Oracle 中有一个可延迟的唯一功能索引吗?

我想在 Oracle 10g 中创建一个可延迟的唯一功能索引。

我知道如何创建一个唯一的功能索引:

我知道如何创建一个可延迟的唯一索引:

知道这两件事,我尝试了这个:

但我收到“ORA-00904:无效标识符”错误。要么我的语法错误,要么 Oracle 不支持可延迟的功能索引?有人可以为我提供解决方案或明确的答案吗?

0 投票
2 回答
638 浏览

unique - 网络分析平台(例如 GA)如何计算唯一访问者?

统计不同的访客并非易事。例如,在网络分析中,访问者可以在星期一和星期四访问,但是当计算那一周的唯一访问者时,我希望只计算一次访问者。

count (distinct userid)由于无法应用聚合,一个月内的 1000 万次访问不能运行得太快(因为不同的计数不是“可添加的”度量)。

我的问题是:Google Analytics 和其他网络分析平台如何如此快速地返回唯一访问者?我假设使用了统计估计。哪一种?如何?

0 投票
5 回答
16356 浏览

sqlite - Sqlite 插入具有唯一名称,获取 id

我有一个要插入数据库的字符串列表。它们必须是独一无二的。当我插入时,我希望他们的 ID(用作另一个表中的外键)所以我使用 last_insert_rowid。我有2个问题。

  1. 如果我使用替换,他们的 ID(整数主键)会更新,这会破坏我的数据库(条目指向不存在的 ID)
  2. 如果我使用忽略,rowid 不会更新,所以我没有得到正确的 ID

我如何获得他们的身份证?如果我不需要,我不想使用 select 语句来检查并插入字符串(如果它不存在)。我该怎么做?

0 投票
2 回答
1949 浏览

sql - 返回部分不同/唯一的行

我需要创建一个查询,该查询按两列分组并根据条件返回一个附加列。

例如,假设我有以下列:

产品代码 | 序列号 | 数量 | 购买日期 | 客户ID

该表包含具有不同数量和购买日期的 ProductCode 和 SerialNumber 的重复组合。我想为 DatePurchased 返回具有最大(最近)值的行的 ProductCode、SerialNumber 和 Quantity。为了使事情更加复杂,必须对 CustomerID = 'xxx' 的所有行执行此操作。

有任何想法吗???

任何帮助表示赞赏。干杯。

0 投票
2 回答
1225 浏览

sql-server-2005 - SQL 2005 XML 模式 - 定义唯一属性

这是我正在尝试为其创建架构的示例 xml 文档:

我正在尝试创建一个 SQL Server 2005 架构集合以:
1. 防止重复 ID。
2. 只允许负ID。

我可以使用 id 属性的 type="xs:negativeInteger" 来实现负约束。但是我不能在 SQL 2005 中创建唯一约束或 key\keyref。如果我设置我的 type="xs:ID",那么我根本不能使用数字作为我的 ID 值,更不用说负 ID。

要么我错过了什么,要么不可能。如果不可能,为什么 SQL 2005 不支持拥有唯一属性的能力?是否可以在表上使用约束\触发器或 xml 索引,或者我现在无法想象的其他一些技术?

非常感谢所有帮助。

0 投票
6 回答
1139 浏览

algorithm - 查找字符串不同的第一个索引的算法?

我有一组字符串,我需要知道它们都不同的第一个索引。我可以想到两种方法来做到这一点:(下面的伪代码就在我的脑海中,可能有很多错误)

第一种方式:

这让我觉得很恶心,因为使用了一套似乎不需要的数据结构。

第二种方式:

但是让我很恼火的是我必须先运行排序,因为排序算法就其本质而言,可以访问我正在寻找的信息。

肯定有比我上面列出的更有效的方法。最终我想将它抽象为任何类型的数组,但这将是微不足道的,并且将其视为字符串问题更简单。

有什么帮助吗?

**更新:我显然没有很好地解释自己。如果我的字符串是 [“apple”、“banana”、“cucumber”、“banking”],我希望函数返回 3,因为有两个字符串(“banana”和“banking”)通过索引 0 匹配, 1 和 2,所以 3 是它们都是唯一的第一个索引

正如丹尼尔在下面提到的,表达我的需求的更好方法是:“我想找到索引 i,在我所有的字符串上调用 substring(0,i) 将导致所有唯一值。”**

0 投票
5 回答
12723 浏览

algorithm - 具有验证的唯一 CD-KEY 生成算法

我正在尝试创建一个独特的 CD-KEY 放入我们产品的包装盒中,就像用户用来注册产品的标准软件盒中的普通 CD-KEY 一样。

但是,我们不销售软件,我们销售用于犯罪和医疗目的的 DNA 采集工具包。用户将通过邮件收到带有 CD-KEY 的唾液收集工具包,他们将使用该 CD-KEY 在我们的网站上创建一个帐户并获得结果。测试结果将链接到 CD-KEY。这是我们必须将结果与患者联系起来的唯一方法。因此,重要的是它不会失败:)

其中一项要求是 CD-KEY 列表必须充分“分散”开,这样就不可能有人输入了错误的 CD-KEY 并且仍然将其批准用于其他工具包,从而混淆了两个工具包。这可能会让我们承担数千美元的责任。

比如不能是
00001
00002
00003这样的递增的数字序列
……
原因是如果有人收到了00002套件,但不小心注册为000003,那么他的结果会匹配到其他人。所以它必须像信用卡号码......除非输入有效序列,否则您随机命中有效号码的机会是百万分之一......

此外,我们每年向各种供应商销售超过 50,000 个套件(他们将使用我们的算法生成自己的 CD-KEYS),因此我们无法维护所有先前发行的 CD-KEYS 的列表以检查是否重复。该算法必须生成唯一的 CD-KEY。

我们还需要能够使用快速检查算法验证 CD-KEY 是否有效,以便我们可以通知用户他输入的代码是否无效。这留下了我相信的许多散列或 MD5 算法。它不可能是 128 位,因为谁会花时间在电脑屏幕上输入它?

到目前为止,这就是我认为最终 CD-KEY 结构的样子

(4 个字符产品代码)-(4 个字符经销商代码)-(12 个字符唯一,可验证的 CD-KEY)

例如。384A - GTLD - {4565 - FR54 - EDF3}


为了确保 KEYS 的唯一性,我可以将当​​前日期 (20090521) 作为来源的一部分。我们每周生成唯一键的次数不会超过一次,因此这个值经常变化,足以达到唯一初始值的目的。

我可以使用什么算法来生成唯一密钥?