หากต้องการอัปเดตหลายแถวในคอลัมน์เดียว ให้ใช้คำสั่ง CASE ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง updateMultipleRowsDemo -> ( -> StudentId int, -> StudentMathScore int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกระเบียนในตารางโดยใช้คำสั่งแทรก -
mysql> แทรกลงในค่า updateMultipleRowsDemo (10001,67); Query OK, 1 แถวที่ได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า updateMultipleRowsDemo (10002,69); Query OK, 1 แถวที่ได้รับผลกระทบ (0.15 วินาที) mysql> แทรก ลงในค่า updateMultipleRowsDemo (10003,89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า updateMultipleRowsDemo (10004,99); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า updateMultipleRowsDemo (10005, 92);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก * จาก updateMultipleRowsDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------+-----------+| รหัสนักศึกษา | StudentMathScore |+-----------+-----------------+| 10001 | 67 || 10002 | 69 || 10003 | 89 || 10004 | 99 || 10005 | 92 |+-----------+-----------------+5 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่ออัปเดตหลายแถวในคอลัมน์เดียวใน MySQL -
mysql> อัปเดตการอัปเดตMultipleRowsDemo -> SET StudentMathScore=CASE StudentId -> เมื่อ 10001 แล้ว 45 -> เมื่อ 10002 แล้ว 52 -> เมื่อ 10003 แล้ว 67 -> END -> ตำแหน่ง StudentId ระหว่าง 10001 ถึง 10003 แบบสอบถามตกลง มี 3 แถวที่ได้รับผลกระทบ (0.19 วินาที) แถวที่ตรงกัน:3 เปลี่ยน:3 คำเตือน:0
ให้เราตรวจสอบค่าว่าอัพเดทหรือไม่ -
mysql> เลือก * จาก updateMultipleRowsDemo;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+----------+-----------+| รหัสนักศึกษา | StudentMathScore |+-----------+-----------------+| 10001 | 45 || 10002 | 52 || 10003 | 67 || 10004 | 99 || 10005 | 92 |+-----------+-----------------+5 แถวในชุด (0.00 วินาที)