sql - 如何在每条记录中创建唯一的哈希字节值
问题描述
CREATE TABLE [dbo].[test]
(
[GroupID] [NVARCHAR](255) NULL,
[PromoNUM] [FLOAT] NULL,
[P_key] AS (HASHBYTES('md5', 'Sample String to hash ')) PERSISTED
) ON [PRIMARY]
该p_key
值在表中的每条记录中必须是唯一的
解决方案
如果您想在每条记录中使用唯一值,请使用identity
:
CREATE TABLE [dbo].[test] (
TestId IDENTITY(1, 1) NOT NULL PRIMARY KEY,
[GroupID] [NVARCHAR](255) NULL,
[PromoNUM] [FLOAT] NULL
) ON [PRIMARY]
您不能保证散列值是唯一的。您可以安排事情,使碰撞的可能性非常非常低。但对于独特性,这可能还不够好。
因此,只需使用标准方法IDENTITY
. 或者,如果您想要一个不连续的值,请使用NEWID()
(但是——我建议不要将它用于聚集索引)。
推荐阅读
- python - 由于我的优化器,我的 Keras 神经网络精度是否总是停留在 ~0.55 左右?
- java - RabbitMQ - 多个消费者单个发布者
- ios - 当我将它用于@IBOutlet 时,iOS UIButton 致命错误
- android - Xamarin Android QR 扫描仪应用程序
- python - Python中的骰子滚轮不是随机的
- ibm-cloud - IBM Bluemix:如果没有现收现付帐户,则无法在该区域创建集群
- r - 参数必须可强制转换为 R 中的非负整数
- python - 如何开始在 python 2.7 中进行并行处理?
- python - 如何创建实时动态更新的无限动画帧?
- clojure - Clojure gorilla repl 和 JVM 10 异常