สำหรับสิ่งนี้ ให้ใช้ IF() พร้อมคุณสมบัติ IS NULL ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable1976 ( FirstName varchar(20), LastName varchar(20) );Query OK, 0 แถวได้รับผลกระทบ (0.00 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable1976 ('John','Doe');Query OK, 1 แถวได้รับผลกระทบ (0.00 วินาที)mysql> แทรกลงในค่า DemoTable1976 ('John', NULL); Query OK, 1 แถวได้รับผลกระทบ ( 0.00 วินาที) mysql> แทรกลงในค่า DemoTable1976 (NULL, 'Miller'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1976 ('Chris', 'Brown'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.00 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก * จาก DemoTable1976;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+----------+| ชื่อจริง | นามสกุล |+-----------+----------+| จอห์น | โด || จอห์น | NULL || NULL | มิลเลอร์ || คริส | สีน้ำตาล |+-----------+----------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่ออัปเดตคอลัมน์ถ้าเป็นโมฆะอื่นอัปเดตคอลัมน์อับเรณู มิฉะนั้นหากทั้งสองคอลัมน์ไม่เป็นโมฆะไม่ทำอะไรเลย -
mysql> อัปเดต DemoTable1976 ตั้งค่า FirstName=if(FirstName IS NULL,'David',FirstName), LastName=if(LastName IS NULL,'Brown',LastName);Query OK, 2แถวที่ได้รับผลกระทบ (0.00 วินาที)แถวที่ตรงกัน :4 เปลี่ยนแล้ว:2 คำเตือน:0
ให้เราตรวจสอบบันทึกตารางอีกครั้ง -
mysql> เลือก * จาก DemoTable1976;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+----------+| ชื่อจริง | นามสกุล |+-----------+----------+| จอห์น | โด || จอห์น | สีน้ำตาล || เดวิด | มิลเลอร์ || คริส | สีน้ำตาล |+-----------+----------+4 แถวในชุด (0.00 วินาที)