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

วิธีอัปเดตเซลล์เฉพาะใน MySQL ให้เป็นค่าว่าง (Empty String)

การอัปเดตเซลล์เฉพาะให้เป็น Empty String ใน MySQL

เมื่อต้องการล้างค่าในเซลล์เฉพาะ (ไม่ใช่ทั้งคอลัมน์) ให้ใช้คำสั่ง UPDATE ร่วมกับเงื่อนไข WHERE ระบุ Primary Key หรือเงื่อนไขที่ระบุแถวได้อย่างชัดเจน

รูปแบบคำสั่ง

UPDATE table_name 
SET column_name = '' 
WHERE primary_key = value;

ตัวอย่าง: ล้างชื่อของนักเรียนรหัส 1003

1. สร้างตารางและเพิ่มข้อมูล

CREATE TABLE DemoTable (
    Id INT,
    Name VARCHAR(50)
);

INSERT INTO DemoTable VALUES (1001, 'Robert');
INSERT INTO DemoTable VALUES (1002, 'Sam');
INSERT INTO DemoTable VALUES (1003, 'Tom');

2. ดูข้อมูลก่อนอัปเดต

SELECT * FROM DemoTable;

ผลลัพธ์:

+------+--------+
| Id   | Name   |
+------+--------+
| 1001 | Robert |
| 1002 | Sam    |
| 1003 | Tom    |
+------+--------+

3. อัปเดตเซลล์ Name ของ Id=1003 ให้เป็น Empty String

UPDATE DemoTable SET Name = '' WHERE Id = 1003;

ผลลัพธ์การรัน: Query OK, 1 row affected (0.16 sec) Rows matched: 1 Changed: 1 Warnings: 0

4. ตรวจสอบข้อมูลหลังอัปเดต

SELECT * FROM DemoTable;

ผลลัพธ์:

+------+--------+
| Id   | Name   |
+------+--------+
| 1001 | Robert |
| 1002 | Sam    |
| 1003 |        |
+------+--------+

Empty String ('') vs NULL: ความแตกต่างสำคัญ

ลักษณะEmpty String ('')NULL
ความหมายมีค่า แต่เป็นข้อความว่างไม่มีค่า / ไม่ทราบค่า
ขนาดจัดเก็บใช้พื้นที่เล็กน้อยใช้พื้นที่สำหรับ NULL flag
การเปรียบเทียบ='' ได้ผล TRUEIS NULL เท่านั้น
ฟังก์ชัน LENGTH()คืนค่า 0คืนค่า NULL
COUNT(column)นับรวมไม่นับ

เมื่อไหร่ควรใช้ Empty String vs NULL

  • Empty String (''): เมื่อค่าว่างมีความหมายทางธุรกิจ (เช่น "ไม่มีชื่อเล่น", "ยังไม่กรอกที่อยู่")
  • NULL: เมื่อค่าไม่ทราบ, ไม่เกี่ยวข้อง, หรือยังไม่ได้ระบุ (เช่น "วันครบรอบงานที่ยังไม่มี", "หมายเลขโทรศัพท์ที่ไม่ได้กรอก")

การแปลง Empty String เป็น NULL (หากต้องการ)

UPDATE DemoTable SET Name = NULL WHERE Name = '';

หรือใช้ NULLIF() (ดูรายละเอียดในบทความ ID 1004074702)