Hướng dẫn generate 4 digit random number in mysql - tạo số ngẫu nhiên gồm 4 chữ số trong mysql

Tôi có một bảng gồm hàng trăm người dùng và tôi muốn tạo mã pin 4 chữ số giống như các bảng được sử dụng tại máy ATM cho mỗi người dùng bằng cách sử dụng câu lệnh cập nhật. Chúng không cần phải là duy nhất, nhưng tôi không muốn sử dụng một loại trường autonumber để một công ty không thể dễ dàng đoán mã pin của người dùng khác. Cách đơn giản và dễ nhất để làm điều này là gì?

Lưu ý: Mã pin này được sử dụng như một lớp xác thực khác, họ cũng cần mật khẩu để đăng nhập.

Hỏi ngày 19 tháng 10 năm 2010 lúc 0:49Oct 19, 2010 at 0:49

Hướng dẫn generate 4 digit random number in mysql - tạo số ngẫu nhiên gồm 4 chữ số trong mysql

Jimiyashjimiyashjimiyash

2.4842 Huy hiệu vàng20 Huy hiệu bạc29 Huy hiệu đồng2 gold badges20 silver badges29 bronze badges

2

Từ tài liệu MySQL ...

Để có được một số nguyên ngẫu nhiên r trong phạm vi i

Chọn tầng (7 + (rand () * 5));

update user set pin=(select floor(0+ RAND() * 10000)) where uid=;

Ngoài ra tôi nghĩ rằng bạn cần phải xác định cột pin

pin int(4) zerofill not null 

Tôi sẽ nghĩ.

Đã trả lời ngày 19 tháng 10 năm 2010 lúc 0:56Oct 19, 2010 at 0:56

Matt Phillipsmatt PhillipsMatt Phillips

11K10 Huy hiệu vàng46 Huy hiệu bạc71 Huy hiệu đồng10 gold badges46 silver badges71 bronze badges

1

Tôi nghĩ rằng một cái gì đó tương tự như chuỗi con (sàn (rand () * 9999 + 10000), 2) sẽ làm điều đó?

Đã trả lời ngày 19 tháng 10 năm 2010 lúc 0:58Oct 19, 2010 at 0:58

OnkelborgonkelborgOnkelborg

3.9371 Huy hiệu vàng19 Huy hiệu bạc22 Huy hiệu đồng1 gold badge19 silver badges22 bronze badges

Có lý do tại sao bạn không thể làm

UPDATE `users` set `pin`=FLOOR(10000*RAND());

?

Đã trả lời ngày 19 tháng 10 năm 2010 lúc 0:55Oct 19, 2010 at 0:55

zebediah49zebediah49zebediah49

7.3671 Huy hiệu vàng31 Huy hiệu bạc 50 Huy hiệu Đồng1 gold badge31 silver badges50 bronze badges

1

Trong trường hợp của tôi, tôi cố gắng tạo mật khẩu ngẫu nhiên cho người dùng, ở đây mật khẩu là null

update users set password =(FLOOR(RAND() * 9999) + 10000)  where password is null;

Cho kịch bản của bạn

update users set pin =(FLOOR(RAND() * 9999) + 10000)  where pin is null;

Đã trả lời ngày 21 tháng 10 năm 2021 lúc 8:59Oct 21, 2021 at 8:59

Hướng dẫn generate 4 digit random number in mysql - tạo số ngẫu nhiên gồm 4 chữ số trong mysql

Ganesan Jganesan jGanesan J

3935 huy hiệu bạc11 huy hiệu đồng5 silver badges11 bronze badges

Điều này sẽ giúp.

SELECT FLOOR ((RAND() * 10000));

Đã trả lời ngày 9 tháng 9 lúc 20:20Sep 9 at 20:20

Hướng dẫn generate 4 digit random number in mysql - tạo số ngẫu nhiên gồm 4 chữ số trong mysql


Trước tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable717 (
   UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   UserPassword int
);
Query OK, 0 rows affected (0.81 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn -

mysql> insert into DemoTable717(UserPassword) values(1454343);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable717(UserPassword) values(674654);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable717(UserPassword) values(989883);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable717(UserPassword) values(909983);
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh chọn -

mysql> select *from DemoTable717;

Điều này sẽ tạo ra đầu ra sau -

+--------+--------------+
| UserId | UserPassword |
+--------+--------------+
| 1      | 1454343      |
| 2      | 674654       |
| 3      | 989883       |
| 4      | 909983       |
+--------+--------------+
4 rows in set (0.00 sec)

Sau đây là truy vấn để tạo 4 chữ số ngẫu nhiên và được đặt cho cột User UserPassword - -

pin int(4) zerofill not null 
0

Hãy để chúng tôi kiểm tra bản ghi bảng một lần nữa -

mysql> select *from DemoTable717;

Điều này sẽ tạo ra đầu ra sau -

pin int(4) zerofill not null 
2

Hướng dẫn generate 4 digit random number in mysql - tạo số ngẫu nhiên gồm 4 chữ số trong mysql

Sau đây là truy vấn để tạo 4 chữ số ngẫu nhiên và được đặt cho cột User UserPassword - -

  • Hãy để chúng tôi kiểm tra bản ghi bảng một lần nữa -
  • Cập nhật vào ngày 22 tháng 8 năm 2019 07:15:42
  • Câu hỏi và câu trả lời liên quan
  • Làm cách nào để chọn bốn bảng ngẫu nhiên từ cơ sở dữ liệu MySQL có hàng ngàn bảng?
  • Tạo 10 số bốn chữ số ngẫu nhiên trong Java
  • Làm thế nào để tạo số ngẫu nhiên 6 chữ số trong MySQL?
  • Làm cách nào để tạo chế độ xem trong mysql?
  • Làm cách nào để tạo một chuỗi alpha-numeric ngẫu nhiên bằng C ++?
  • Làm cách nào để tạo và sử dụng một chuỗi trong MySQL?
  • Làm cách nào để tạo phao ngẫu nhiên trong C ++?
  • Làm thế nào tôi có thể nhận được một số ngẫu nhiên trong Kotlin?
  • Hiển thị năm chữ số trong Java
  • Làm cách nào để xóa cơ sở dữ liệu MySQL?
  • Làm cách nào để tạo gói không gian tên trong Python?
  • Làm cách nào để tạo một người chọn ngày trong tkinter?
  • Làm cách nào để tạo đối tượng java.sql.date trong java?

Làm cách nào để tạo số 4 chữ số ngẫu nhiên trong SQL?

Một phương pháp đơn giản là sử dụng hàm rand () có sẵn trong SQL Server.Chức năng Rand () chỉ cần tạo số thập phân giữa 0 (bao gồm) và 1 (độc quyền).Logic là để nhân giá trị được trả về bởi rand () với 1 tỷ để có đủ các chữ số và áp dụng hàm trái để trích xuất 6 chữ số cần thiết.make use of RAND() function available in SQL Server. RAND() function simply generate a decimal number between 0 (inclusive) and 1 (exclusive). The logic is to multiply value returned by RAND() by 1 billion so that it has enough digits and apply LEFT function to extract 6 digits needed.

Làm thế nào để tạo ra số ngẫu nhiên duy nhất trong MySQL?

Hàm mysql rand () hàm rand () trả về một số ngẫu nhiên giữa 0 (bao gồm) và 1 (độc quyền).RAND() Function The RAND() function returns a random number between 0 (inclusive) and 1 (exclusive).

Làm thế nào chúng ta có thể nhận được một số ngẫu nhiên từ 1 đến 100 trong MySQL?

Để có được giá trị ngẫu nhiên giữa hai giá trị, hãy sử dụng phương thức mysql rand () với sàn ().Cú pháp như sau.Chọn tầng (rand () * (MaximumValue-MinimumValue) + MinimumValue) như bất kỳVariaBlename;Hãy để chúng tôi kiểm tra với một số giá trị tối đa và tối thiểu.use MySQL rand() method with floor(). The syntax is as follows. select FLOOR( RAND() * (maximumValue-minimumValue) + minimumValue) as anyVariableName; Let us check with some maximum and minimum value.

Điều gì sẽ là kết quả của truy vấn dưới đây chọn rand () ;?

Chọn rand ();Giải thích: Câu lệnh MySQL trên sẽ trả về giá trị ngẫu nhiên trong khoảng từ 0 đến 1.a random value between 0 and 1.