คุณสามารถอัปเดต MySQL ด้วยเงื่อนไข IF เช่นเดียวกับคำสั่ง CASE เพื่อจุดประสงค์นี้ ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตาราง −
mysql> สร้างตาราง UpdateWithIfCondition −> ( −> BookId int, −> BookName varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)
ตอนนี้คุณสามารถแทรกระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า UpdateWithIfCondition (1000,'C in Depth'); Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า UpdateWithIfCondition (1001,'Introduction to Java'); Query OK, 1 แถว ได้รับผลกระทบ (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก UpdateWithIfCondition;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---------+----------------------+| รหัสหนังสือ | ชื่อหนังสือ |+---------+----------------------+| 1000 | C ในความลึก || 1001 | บทนำสู่ Java |+-------+----------------------+2 แถวในชุด (0.00 วินาที)ให้เราอัปเดตค่า 'C in Depth' ด้วยค่า 'Introduction to C' และ 1001 ด้วยค่า 2000 โดยใช้เงื่อนไข if แบบสอบถามมีดังนี้ −
mysql> อัปเดต UpdateWithIfCondition −> set BookName =if(BookName ='C in Depth','Introduction to C',BookName), −> BookId =if(BookId =1001,2000,BookId);Query OK, 2 แถวที่ได้รับผลกระทบ (0.43 วินาที) แถวที่ตรงกัน:2 เปลี่ยนแล้ว:2 คำเตือน:0
ด้านบน เราได้อัปเดตทั้งสองค่าของคอลัมน์ ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบทั้งสองค่าที่ได้รับการปรับปรุงหรือไม่ -
mysql> เลือก *จาก UpdateWithIfCondition;
ต่อไปนี้เป็นผลลัพธ์ที่แสดงว่าเราได้อัปเดตค่าเรียบร้อยแล้วโดยใช้ if −
<ก่อนหน้า>+---------+----------------------+| รหัสหนังสือ | ชื่อหนังสือ |+---------+----------------------+| 1000 | บทนำสู่ C || 2000 | บทนำสู่ Java |+-------+----------------------+2 แถวในชุด (0.00 วินาที)