问题标签 [unique-key]

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 回答
622 浏览

sql-server - 您将如何使用 base 36 对 sql server 08 中的 Id 列跳过粗俗的单词?

我需要尽可能短的 ID,所以我认为 base-36 可以很好地解决这个问题。我的想法是我将只使用一个自动递增的 Id 字段作为主键,然后创建一个 base-36 用户 ID。不幸的是,我不可避免地会遇到很多粗俗的单词组合。我很难找到解决这个问题的最佳方法,因为可疑词可能是字符串的任何组合。

有什么想法吗?

谢谢

0 投票
1 回答
276 浏览

java - 如何为重复项创建具有递增键的唯一标签?

这是Java上下文中的编程技术问题。

问题:我们有字符串键,它们都必须是唯一的。集合的实现是 Map 和 ArrayList 的组合,它允许将集合用作 Map 或 ArrayList(如果您好奇,可以使用 JFreeChart 的 DefaultPieDataset)。如果我们有一条数据,我们希望它是关键本身。如果我们有多个由其他键分隔的倍数,我们需要数据加上一个分隔符和一个递增的数字。

例如:

具有两个Bob条目然后是 an 的数据Albert将具有["Bob", "Albert"].

看起来像Albert并且Bob具有两个Bob条目Albert之间的数据将具有像["Bob : 1", "Albert", "Bob : 2"].

到目前为止,这是我们的代码:

目前,代码在每个重复项上都添加了“:#”,而不是Bob : 2Bob : 1 : 2

一个额外的挑战是我不能保证该名称不会有分隔符(示例中的冒号)。

此外,添加任何库都需要大量繁文缛节,因此需要一个仅 Java API 的解决方案。

感谢您帮助解决这个特别的脑筋急转弯,
亚当

编辑:为了进一步澄清代码,项目值基于数据类型连续出现的次数。所以在第一个例子中,键Bob的值是 2 和Albert1。在第二个例子中,所有键的值都是 1。

0 投票
6 回答
21333 浏览

php - 在 PHP 中生成真正唯一的订单 ID?

我正在考虑使用这个: http: //phpgoogle.blogspot.com/2007/08/four-ways-to-generate-unique-id-by-php.html

我的想法是使用 2 和 3 之间的混合。但我的问题是,虽然机会很小,但如果我将结果子串为只有 5 个字符,是否仍有可能生成具有相同订单的两个订单长的?3呢?2?1?当然,如果它是 1,那么 id 相同的可能性是 1/(26 + 10) 吗?

0 投票
1 回答
1567 浏览

c# - 如何使用 NHibernate 通过唯一键值进行查询

我想使用 Example.Create() 仅通过实例的唯一值进行查询。为此,我需要找出映射文件中设置的唯一键属性的值,如下所示:

为了更好地理解 - 这是代码的重要部分:

我需要做什么才能确定某个属性是否属于唯一键组“MyUniqueKeyGroup”?

0 投票
1 回答
311 浏览

linq - 执行多个 LINQ 更新以避免 uniquekey 异常

我在 ParentRef 和 SortIndex 列上有一个唯一键的数据库。

在 LINQ 中,我想切换两个 SortIndex 值。我想在一个事务中执行此操作,以便一次可以有多个用户。如何使用 LINQ 一次性切换值,以免违反我的唯一键?

0 投票
2 回答
157 浏览

mysql - 处理mysql约束错误

我尝试在此网站上搜索解决方案,但似乎找不到任何解决方案。

我需要找到一种方法来知道我的表中的哪个字段导致了约束错误。在我的表中,假设members表中的两个字段(用户名、电子邮件)是唯一键,并定义为除了我的主键(memberid)之外的唯一键。当我将类似用户和/或电子邮件地址的数据添加到此表时,会发生此错误:

“key2 的重复条目‘myemail@mail.com’”

我想告诉用户哪个字段导致重复输入,以便说“该电子邮件已注册”

我似乎找不到一个 mysql 函数在插入时循环遍历错误键......

0 投票
5 回答
1158 浏览

database - 唯一标识生成

如何使用以下属性生成最多 12 个字符的唯一键:姓名、父亲姓名、母亲姓名、出生日期、出生地点。

提前致谢 :)

0 投票
2 回答
26640 浏览

mysql - 在数据库设计中使用用户名作为主键是不是很糟糕?

一个朋友告诉我:

您使用什么唯一密钥?我希望您没有保存整个用户名 --- 这会占用太多的表空间!为每个(唯一)用户名分配一个唯一的用户 ID,并保存此用户 ID(应该是 INTEGER UNSIGNED auto_increment 或 BIGINT UNSIGNED auto_increment)。不要忘记创建参考

FOREIGN KEY ( userID) REFERENCES usertable( userID) 在所有使用 userID 的表中。

上述说法正确吗?为什么或者为什么不?

0 投票
1 回答
370 浏览

java - 字典数据插入或选择(oracle、java)

我有一个包含两列的表(在 ORADB 中):VARCHAR 唯一键和从序列生成的 NUMBER 唯一键。

我需要我的 Java 代码在获得新的 VARCHAR 键时不断(并行地)向该列添加记录,返回新生成的 NUMBER 键。或者在获得现有的 VARCHAR 时返回现有的 NUMBER 键(它不会插入它,这当然会由于 uniq 键冲突而引发异常)。

这样的过程将由许多并行工作的(Java)客户端执行。

希望我的英语是可以理解的:)

最好的方法是什么(也许使用 PL/SQL 块而不是 Java 代码......)?

0 投票
6 回答
4466 浏览

sql-server - 带有尾随空格作为 SQL Server 2008 中的主键的 Varchar

是否可以将 varchar 列作为主键,其值类似于 'a' 和 'a',在 MS SQL Server 2008 中总是给出此错误“违反主键约束”。在 Oracle 中不会给出任何错误。顺便说一句,我没有以这种方式实现,我只是想将数据从 oracle 迁移到 sql server。

问候