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

สลับค่าสองคอลัมน์ใน MySQL หรือไม่


ในการสลับสองคอลัมน์ เราสามารถใช้ตรรกะการสลับด้านล่างได้

  • เพิ่มทั้งสองค่าและเก็บไว้ในคอลัมน์แรก

  • ลบค่าของคอลัมน์แรกออกจากคอลัมน์ที่สองและเก็บไว้ในคอลัมน์ที่สอง

  • ลบค่าของคอลัมน์แรกออกจากคอลัมน์ที่สองที่อัปเดตแล้วเก็บไว้ในคอลัมน์แรก

โครงสร้างกฎข้างต้นมีดังนี้ สมมติว่า คอลัมน์แรกคือ a และคอลัมน์ที่สองคือ b

<ก่อน>1. a =a+b;2. b =a-b;3. a =a-b;

ตอนนี้เราจะใช้กฎข้างต้นเพื่อสลับค่าสองคอลัมน์

การสร้างตาราง

mysql> สร้างตาราง SwappingTwoColumnsValueDemo   -> (   -> FirstColumnValue int,   -> SecondColumnValue int   -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.49 วินาที)

กำลังแทรกบันทึกบางส่วน

mysql>  แทรกลงในค่า SwappingTwoColumnsValueDemo(10,20),(30,40),(50,60),(70,80),(90,100);Query OK, 5 rows suitable(0.19 วินาที)ระเบียน:5 ซ้ำ:0  คำเตือน:0

เพื่อตรวจสอบค่าของคอลัมน์ก่อนทำการสลับ

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

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

<ก่อนหน้า>+-------------------+-------------------+| FirstColumnValue | SecondColumnValue |+-----------------+-------------------+| 10 | 20 || 30 | 40 || 50 | 60 || 70 | 80 || 90 | 100 |+-------------------+-------------------+5 แถวในชุด (0.00 วินาที)

ไวยากรณ์เพื่อสลับค่าคอลัมน์

mysql> อัปเดต SwappingTwoColumnsValueDemo   -> SET FirstColumnValue =FirstColumnValue+SecondColumnValue,   -> SecondColumnValue =FirstColumnValue-SecondColumnValue,   -> OKsecnVnValued:เปลี่ยน FirstColumnVnValued:0 คอลัมน์ที่ตรงกัน 5 รายการ :0

เพื่อตรวจสอบว่ามีการสลับค่าคอลัมน์หรือไม่

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

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

<ก่อนหน้า>+-------------------+-------------------+| FirstColumnValue | SecondColumnValue |+-----------------+-------------------+| 20 | 10 || 40 | 30 || 60 | 50 || 80 | 70 || 100 | 90 |+-----------------+-------------------+5 แถวในชุด (0.00 วินาที)