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

ลดค่าแถวลง 1 ใน MySQL หรือไม่


คุณสามารถเพิ่มและลดค่าแถวได้ 1 ใน MySQL โดยใช้คำสั่ง UPDATE ไวยากรณ์มีดังนี้ −

UPDATE yourTableName set yourColumnName =yourColumnName-1 โดยที่เงื่อนไข;

ให้เราสร้างตารางเพื่อลดค่าแถวโดย 1 ต่อไปนี้เป็นแบบสอบถาม -

mysql> สร้างตาราง IncrementAndDecrementValue −> ( −> UserId int, −> UserScores int −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า IncrementAndDecrementValue (101,20000) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า IncrementAndDecrementValue (102,30000); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรก ลงในค่า IncrementAndDecrementValue (103,40000);Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก IncrementAndDecrementValue;

ต่อไปนี้เป็นผลลัพธ์;

<ก่อนหน้า>+---------+-----------+| รหัสผู้ใช้ | UserScores |+---------+-----------+| 101 | 20000 || 102 | 30000 || 103 | 40000 |+-------+-----------+3 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อลดค่า UserScores ลง 1 โดยมีเงื่อนไขที่ไหน

mysql> อัปเดต IncrementAndDecrementValue ตั้งค่า UserScores =UserScores-1 โดยที่ UserId =103 ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.41 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแล้ว:1 คำเตือน:0

ให้เราตรวจสอบค่าว่าอัพเดทหรือไม่ แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก IncrementAndDecrementValue;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงว่าเราได้ลดค่าแถวสำเร็จแล้ว -

<ก่อนหน้า>+---------+-----------+| รหัสผู้ใช้ | UserScores |+---------+-----------+| 101 | 20000 || 102 | 30000 || 103 | 39999 |+-------+-----------+3 แถวในชุด (0.00 วินาที)