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

จะอัปเดตรายการทั้งหมดยกเว้นค่าเดียวในคอลัมน์ใดคอลัมน์หนึ่งโดยใช้ MySQL ได้อย่างไร


หากต้องการอัปเดตรายการทั้งหมดโดยไม่สนใจค่าเดียว คุณต้องใช้ IF()

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable736 ( CustomerId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), isMarried boolean); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.53 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable736(CustomerName,isMarried) ('Chris',0);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable736 (CustomerName,isMarried) ('Robert',0);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงใน DemoTable736(CustomerName,isMarried) ค่า ('David',0);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.24 วินาที)mysql> แทรกลงใน DemoTable736 (CustomerName, isMarried) ค่า ('ไมค์',0);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงใน DemoTable736 (CustomerName,isMarried) ค่า ('Carol',1); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable736(CustomerName,isMarried) ('Bob',0);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+-----------+| รหัสลูกค้า | ชื่อลูกค้า | isMarried |+------------+--------------+-----------+| 1 | คริส | 0 || 2 | โรเบิร์ต | 0 || 3 | เดวิด | 0 || 4 | ไมค์ | 0 || 5 | แครอล | 1 || 6 | บ๊อบ | 0 |+------------+--------------+-----------+6 แถวในชุด (0.00 วินาที )

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตรายการทั้งหมดยกเว้นค่าเดียวในคอลัมน์เฉพาะโดยใช้ MySQL เรากำลังอัปเดตคอลัมน์ “isMarried” –

mysql> อัปเดตชุด DemoTable736 isMarried=if(CustomerId=5,1,1);แบบสอบถามตกลง 5 แถวได้รับผลกระทบ (0.13 วินาที) แถวที่ตรงกัน:6 เปลี่ยน:5 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------+--------------+-----------+| รหัสลูกค้า | ชื่อลูกค้า | isMarried |+------------+--------------+-----------+| 1 | คริส | 1 || 2 | โรเบิร์ต | 1 || 3 | เดวิด | 1 || 4 | ไมค์ | 1 || 5 | แครอล | 1 || 6 | บ๊อบ | 1 |+------------+-------------+-----------+6 แถวในชุด (0.00 วินาที )