ไวยากรณ์สำหรับการอัปเดตจำนวนมากด้วย CASE WHEN/ THEN/ ELSE มีดังนี้ -
UPDATE yourTableName ตั้งค่า yourColumnName=case when yourColumnName=Value1 then anyUpdatedValue1 when yourColumnName=Value2 then anyUpdatedValue2 when yourColumnName=Value3 then anyUpdatedValue3 when yourColumnName=Value4 then anyUpdatedValue4else yourColumn>เพื่อทำความเข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง CaseUpdateDemo-> (-> Id int,-> Name varchar(100)-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.78 วินาที)แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า CaseUpdateDemo (1,'John'); Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า CaseUpdateDemo (2,'Carol'); Query OK, 1 แถวได้รับผลกระทบ (0.27 วินาที )mysql> แทรกลงในค่า CaseUpdateDemo (3,'Mike');Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า CaseUpdateDemo (4,'Bob');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก CaseUpdateDemo;ผลลัพธ์
<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 1 | จอห์น || 2 | แครอล || 3 | ไมค์ || 4 | Bob |+------+-------+4 แถวในชุด (0.00 วินาที)
ตอนนี้คุณสามารถเขียนข้อความค้นหาที่เรากล่าวถึงข้างต้นเพื่ออัปเดต id คอลัมน์ด้วย Case WHEN THEN ELSE แบบสอบถามมีดังนี้ −
mysql> อัปเดต CaseUpdateDemo ตั้งค่า Id=case เมื่อ Id=1 จากนั้น 1001-> เมื่อ Id=2 จากนั้น 1002-> เมื่อ Id=3 จากนั้น 1003-> เมื่อ Id=4 จากนั้น 1004-> อื่น Id-> สิ้นสุด; แบบสอบถาม ตกลง ได้รับผลกระทบ 4 แถว (0.15 วินาที) แถวที่ตรงกัน:4 เปลี่ยนแล้ว:4 คำเตือน:0
ตอนนี้คุณสามารถตรวจสอบว่าตารางได้รับการอัปเดตสำหรับคอลัมน์ ID โดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก CaseUpdateDemo;