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

อัปเดตคอลัมน์เป็น NULL เมื่อค่าเป็นช่องว่างใน MySQL

ใช้ 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 มิฉะนั้นคงค่าเดิม