将随机字符插入MYSQL数据库

spo*_*nap 3 mysql random

我想在用户表号字段中添加100个条目,随机字符长度为10,所有条目也应该是唯一的.如何使用MYSQL查询代码实现此目的?

或者我需要使用PHP吗?

请帮我提供代码片段.谢谢.

Hai*_*vgi 7

在mysql你可以这样做:

insert into table ( SUBSTRING(MD5(RAND()) FROM 1 FOR 10) , field2 , field3) , ( SUBSTRING(MD5(RAND()) FROM 1 FOR 10) , field2 , field3) , .........
Run Code Online (Sandbox Code Playgroud)

..............

在php中看到这2个链接:

php中的短唯一ID

在PHP中生成随机密钥的最佳方法是什么?


d-_*_*_-b 7

这可能会造成重复,而且时间太长.这是10个字符长:

UPDATE users SET numbers = SUBSTRING(MD5(RAND()) FROM 1 FOR 10)
Run Code Online (Sandbox Code Playgroud)

但是,您仍然可以获得重复值.

所以你可以在你的专栏上放置一个独特的约束.然后尝试更新.如果有重复项,您将收到错误消息.然后再试一次.你只有100个条目,所以它可能没问题.

这是密码吗?

如果是这样,我建议加密该值.当然,你有一个不知道价值是什么的问题.所以你可以创建一个临时表,在那里插入随机值.然后在将值从临时表插入到实际表中时对这些值进行加密.然后,您可以使用临时表作为参考(为用户提供密码等).希望有所帮助.


avi*_*viv 6

UPDATE TABLE users SET number_field = MD5(RAND());
Run Code Online (Sandbox Code Playgroud)