ใช้ IF() ร่วมกับ UPDATE เพื่อแปลงค่าว่างเป็น NULL
สร้างตารางและเพิ่มข้อมูล
mysql> create table DemoTable1601 ( FirstName varchar(20), LastName varchar(20) ); Query OK, 0 rows affected (0.53 sec)
mysql> insert into DemoTable1601 values('John','Doe');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1601 values('Adam','');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1601 values('David','Miller');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1601 values('Chris','');
Query OK, 1 row affected (0.11 sec)
ข้อมูลก่อนอัปเดต
mysql> select * from DemoTable1601;
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | John | Doe | | Adam | | | David | Miller | | Chris | | +-----------+----------+ 4 rows in set (0.00 sec)
คิวรี่อัปเดตค่าว่างเป็น NULL
mysql> update DemoTable1601 set LastName=if(LastName='',NULL,LastName); Query OK, 2 rows affected (0.22 sec) Rows matched: 4 Changed: 2 Warnings: 0
ข้อมูลหลังอัปเดต
mysql> select * from DemoTable1601;
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | John | Doe | | Adam | NULL | | David | Miller | | Chris | NULL | +-----------+----------+ 4 rows in set (0.00 sec)
ฟังก์ชัน IF(condition, true_value, false_value) ตรวจสอบว่า LastName เป็นสตริงว่างหรือไม่ ถ้าใช่ให้ตั้งเป็น NULL มิฉะนั้นคงค่าเดิม