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

จะทำการ Increment ใน MySQL Update ได้อย่างไร?


ในการอัปเดตค่าทีละส่วนใน 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 วินาที)