ในการสลับสองคอลัมน์ เราสามารถใช้ตรรกะการสลับด้านล่างได้
-
เพิ่มทั้งสองค่าและเก็บไว้ในคอลัมน์แรก
-
ลบค่าของคอลัมน์แรกออกจากคอลัมน์ที่สองและเก็บไว้ในคอลัมน์ที่สอง
-
ลบค่าของคอลัมน์แรกออกจากคอลัมน์ที่สองที่อัปเดตแล้วเก็บไว้ในคอลัมน์แรก
โครงสร้างกฎข้างต้นมีดังนี้ สมมติว่า คอลัมน์แรกคือ 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 วินาที)