如何在mysql中创建一个随机的4位数字

jim*_*ash 2 mysql

我有一个包含数百个用户的表格,我想创建一个4位数的密码,就像使用UPDATE语句的每个用户在ATM机上使用的那样.它们不必是唯一的,但我不想使用自动编号类型的字段,因此一家公司不能轻易猜出另一个用户的密码.最简单,最简单的方法是什么?

注意:此密码用作另一层身份验证,他们还需要密码才能登录.

Mat*_*ips 9

来自Mysql文档 ......

为了获得范围i <= R <j的随机整数R,使用表达式FLOOR(i + RAND()*(j-i)).例如,要获取范围7 <= R <12的范围内的随机整数,可以使用以下语句:

SELECT FLOOR(7 +(RAND()*5));

update user set pin=(select floor(0+ RAND() * 10000)) where uid=<user_uid>;
Run Code Online (Sandbox Code Playgroud)

另外我认为你需要定义类似的pin列

pin int(4) zerofill not null 
Run Code Online (Sandbox Code Playgroud)

我想.