การอัปเดตค่า NULL ให้เป็นค่าที่กำหนดด้วย UPDATE
ใช้คำสั่ง UPDATE ร่วมกับ IS NULL เพื่อเปลี่ยนค่า NULL ทั้งหมดในคอลัมน์เป็นค่าที่ต้องการ
ไวยากรณ์
UPDATE yourTableName
SET yourColumnName = 'yourValue'
WHERE yourColumnName IS NULL;
ตัวอย่างการใช้งาน
สร้างตารางพนักงาน:
CREATE TABLE Employee_Information_Table (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(20),
Salary INT,
PRIMARY KEY(Id)
);
เพิ่มข้อมูล (Salary ทั้งหมดเป็น NULL):
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('John', NULL);
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('Carol', NULL);
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('Bob', NULL);
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('David', NULL);
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('Robert', NULL);
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('Mike', NULL);
INSERT INTO Employee_Information_Table(Name, Salary) VALUES('Sam', NULL);
อัปเดต NULL เป็น 45,500:
UPDATE Employee_Information_Table
SET Salary = 45500
WHERE Salary IS NULL;
ผลลัพธ์ (7 rows affected):
+----+--------+--------+
| Id | Name | Salary |
+----+--------+--------+
| 1 | John | 45500 |
| 2 | Carol | 45500 |
| 3 | Bob | 45500 |
| 4 | David | 45500 |
| 5 | Robert | 45500 |
| 6 | Mike | 45500 |
| 7 | Sam | 45500 |
+----+--------+--------+
ข้อควรระวัง
- WHERE Salary IS NULL - ต้องใช้ IS NULL ไม่ใช่ = NULL
- WHERE Salary = NULL - จะไม่ทำงาน เพราะ NULL = NULL เป็น UNKNOWN ใน SQL
- ใช้
COALESCE()ใน SELECT หากต้องการแสดงค่าแทน NULL โดยไม่เปลี่ยนข้อมูลจริง
วิธีอื่น: ใช้ COALESCE ใน SELECT (ไม่เปลี่ยนข้อมูล)
SELECT Name, COALESCE(Salary, 45500) AS Salary FROM Employee_Information_Table;
จัดการ Empty String ('') พร้อมกับ NULL
UPDATE Employee_Information_Table
SET Salary = 45500
WHERE Salary IS NULL OR Salary = '';