sql - 将列中的随机字符串添加到数据库中的每一行

标签 sql database sql-server-2008 random passwords

我使用的是 SQL Server 2008,我的数据库约有 1000 行。

还有一个名为 Password 的列,每行都是空的。

通常我可以执行类似 INSERT INTO Password VALUES("helloworld"); 的操作,将某些内容添加到 Password 列中,但随后所有行都会获得相同的 密码

但我希望数据库中的每一行都有一个不同的密码,一个包含 10 个字符(字符串和整数)的随机单词。

有人可以引导我走上正确的道路吗?

最佳答案

使用 guid 的子字符串可能有效:

SELECT SUBSTRING(CONVERT(varchar(40), newid()), 1, 10)

如果仪表板有问题,请将其更换。

SELECT SUBSTRING(REPLACE(CONVERT(varchar(40), newid()), '-', ''), 1, 10)

但是,请注意,这并不能保证每一行都有唯一的密码,因为我们仅使用 GUID 的一部分。

关于sql - 将列中的随机字符串添加到数据库中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734404/

相关文章:

c# - 使用 SQLAdapter.Update(Dataset) 抛出错误 "No primary key in select command"

php - 将 ON DUPLICATE KEY UPDATE 与 2 个键一起使用

sql - 触发器将记录复制到相同表的正确 SQL 是什么?

sql - 我可以试运行/沙盒 sql 命令吗?

SQL 问题,错误 "Invalid data type"

sql-server-2008 - 如何最有效地连接两个表?

mysql - 乘以百分比

java - MongoDB - getCollection(String name) 和 getCollectionFromString(String collectionName) 之间的区别?

c# - ASP.NET C# - 使用数据集读取一行?

sql - 如何获取每科得分最高的学生的姓名?