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

การอัปเดตข้อมูลจำนวนมากใน MySQL ด้วย CASE WHEN THEN ELSE

Mass Update หลายเงื่อนไขด้วย CASE WHEN THEN ELSE

เมื่อต้องการอัปเดตคอลัมน์เดียวกันแต่ให้ค่าต่างกันตามเงื่อนไขหลายๆ เงื่อนไขในคำสั่งเดียว สามารถใช้ CASE WHEN THEN ELSE END ภายในคำสั่ง UPDATE ได้

รูปแบบคำสั่ง (Syntax)

UPDATE yourTableName 
SET yourColumnName = CASE 
    WHEN yourColumnName = Value1 THEN newValue1
    WHEN yourColumnName = Value2 THEN newValue2
    WHEN yourColumnName = Value3 THEN newValue3
    WHEN yourColumnName = Value4 THEN newValue4
    ELSE yourColumnName
END;

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

สร้างตาราง CaseUpdateDemo:

CREATE TABLE CaseUpdateDemo (
    Id INT,
    Name VARCHAR(100)
);

เพิ่มข้อมูล:

INSERT INTO CaseUpdateDemo VALUES 
(1, 'John'),
(2, 'Carol'),
(3, 'Mike'),
(4, 'Bob');

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

IdName
1John
2Carol
3Mike
4Bob

อัปเดตคอลัมน์ Id ให้เพิ่มค่า 1000 ตามเงื่อนไข:

UPDATE CaseUpdateDemo 
SET Id = CASE 
    WHEN Id = 1 THEN 1001
    WHEN Id = 2 THEN 1002
    WHEN Id = 3 THEN 1003
    WHEN Id = 4 THEN 1004
    ELSE Id
END;

ผลลัพธ์หลังอัปเดต:

IdName
1001John
1002Carol
1003Mike
1004Bob

ประโยชน์: วิธีนี้ช่วยให้อัปเดตหลายเงื่อนไขในคำสั่งเดียว ลดจำนวนคำสั่ง UPDATE และเพิ่มประสิทธิภาพการทำงาน