Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

อัปเดตคอลัมน์ด้วยตัวเลขสุ่ม 1-3 ใน MySQL


ไวยากรณ์การอัปเดตด้วยค่าสุ่ม

ใช้ฟังก์ชัน RAND() ร่วมกับ FLOOR() เพื่อสร้างตัวเลขสุ่มระหว่าง 1-3:

UPDATE your_table_name SET your_column_name = FLOOR(1 + RAND() * 3);

ตัวอย่างการใช้งาน

สร้างตารางและเพิ่มข้อมูล

CREATE TABLE UpdateNumber1To3 (MyNumber INT);
INSERT INTO UpdateNumber1To3 VALUES (100), (140), (130);

ข้อมูลก่อนอัปเดต

+----------+
| MyNumber |
+----------+
| 100      |
| 140      |
| 130      |
+----------+

คำสั่งอัปเดต

UPDATE UpdateNumber1To3 SET MyNumber = FLOOR(1 + RAND() * 3);

ผลลัพธ์หลังอัปเดต (ตัวอย่าง)

+----------+
| MyNumber |
+----------+
| 1        |
| 2        |
| 1        |
+----------+

คำอธิบาย:

  • RAND() สร้างเลขสุ่มทศนิยมระหว่าง 0 ถึง 1
  • RAND() * 3 ให้ช่วง 0 ถึง 3
  • 1 + RAND() * 3 ให้ช่วง 1 ถึง 4
  • FLOOR() ปัดเศษลง ทำให้ได้ค่า 1, 2, หรือ 3

หมายเหตุ: คำสั่งนี้จะอัปเดตทุกแถวในตาราง หากต้องการอัปเดตเฉพาะบางแถว ให้เพิ่มเงื่อนไข WHERE