ในการอัปเดตค่าทีละส่วนใน MySQL คุณต้องสร้างตัวแปรโดยใช้คำสั่ง SET ไวยากรณ์ในการสร้างตัวแปรมีดังนี้ −
set @anyVariableName :=0;
ในการอัพเดทค่า คุณต้องใช้คำสั่ง UPDATE ให้เราเริ่มต้นด้วยการสร้างตาราง แบบสอบถามเพื่อสร้างตาราง −
mysql> สร้างตาราง UpdateValueIncrementally −> ( −> ProductId int −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.90 วินาที)
แทรกระเบียนในตารางโดยใช้คำสั่ง select แบบสอบถามมีดังต่อไปนี้ −
mysql> แทรกลงใน UpdateValueIncrementally ค่า (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงใน UpdateValueIncrementally ค่า (100); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงใน UpdateValueIncrementally ค่า ( 1000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงใน UpdateValueIncrementally ค่า (110); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน UpdateValueIncrementally ค่า (102); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.11 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังต่อไปนี้ −
mysql> เลือก *จาก UpdateValueIncrementally
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------+| ProductId |+-----------+| 10 || 100 || 1000 || 110 || 102 |+-----------+5 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อปรับปรุงค่าที่เพิ่มขึ้น -
mysql> set @incrementValue :=33333;ตกลง, 0 แถวได้รับผลกระทบ (0.00 วินาที)
ตัวแปรถูกสร้างขึ้นด้านบนและค่าเริ่มต้นเป็น 33333 ต่อไปนี้เป็นแบบสอบถามเพื่อปรับปรุงค่าและการเพิ่ม -
mysql> อัปเดต UpdateValueIncrementally ตั้งค่า ProductId =(select @incrementValue :=@incrementValue + @incrementValue); ตกลง ตกลง 5 แถวได้รับผลกระทบ (0.21 วินาที) แถวที่ตรงกัน:5 เปลี่ยนแล้ว:5 คำเตือน:0
ในแบบสอบถามข้างต้น ฉันได้เพิ่มค่าด้วยค่าปัจจุบันของ @incrementValue ตอนนี้คุณสามารถตรวจสอบได้ว่าค่าที่ได้รับการปรับปรุงหรือไม่ -
mysql> เลือก *จาก UpdateValueIncrementally;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------+| ProductId |+-----------+| 66666 || 133332 || 266664 || 533328 || 1066656 |+-----------+5 แถวในชุด (0.00 วินาที)