如何为数据库中的一列生成唯一的字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为数据库中的一列生成唯一的字符串?相关的知识,希望对你有一定的参考价值。

我试图用唯一的字符串填充数据库中的一列。我如何实现这个目标?

我目前的代码只是调用了同一个实例的 GetUniqueKey() 方法,所以它只是生成相同的密钥。这个方法只会运行一次。就像我说的,我试图为每一行生成一个唯一的键。这个 GetUniqueKey() 方法生成一个字母数字字符串。我如何在 Hash.GetUniqueKey() 以获得一个新的唯一键?

private readonly int KEY_SIZE = 5;

public void Fill() {
    connectionStringBuilder.InitialCatalog = "parts";
    connection.ConnectionString = CONSTANTS.connStringParts;

    string query = @"UPDATE parts SET [InternalID] = '" + Hash.GetUniqueKey(KEY_SIZE) + "'";
    SqlCommand command = new SqlCommand(query, connection);
    using(connection) {

        try {
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
        catch(Exception ex) {
            MessageBox.Show(Resource1.DatabaseConnectionError, Resource1.Error, MessageBoxButton.OK, MessageBoxImage.Error);
        }
    }
}
答案

你有没有考虑使用Guid?

https:/docs.microsoft.comtr-trdotnetapisystem.guid.newguid?view=netframework-4.8。

// Create and display the value of two GUIDs.
Guid g = Guid.NewGuid();
Console.WriteLine(g);
Console.WriteLine(Guid.NewGuid());

// This code example produces a result similar to the following:

// 0f8fad5b-d9cb-469f-a165-70867728950e
// 7c9e6679-7425-40de-944b-e07fc1f90ae7

以上是关于如何为数据库中的一列生成唯一的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何为android中的字符串输入生成唯一的哈希码...?

如何为列中的每个唯一值获取数据框中的项目数[重复]

如何为 BigQuery 表中的记录生成唯一键值?

如何为熊猫数据框的每一列应用具有不同时间常数的一阶过滤器?

如何为 apollo 客户端生成片段类型?

如何为 DOM 元素生成唯一的 CSS 选择器?