Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cập nhật cột trong MySQL: Thay giá trị 'None' bằng 'N/A'

Vấn đề: Cập nhật giá trị chuỗi cụ thể trong cột

Thường gặp khi dữ liệu nhập vào chứa từ khóa như 'None', 'NULL' (dạng chuỗi) thay vì giá trị NULL thực sự. Cần thay thế bằng giá trị chuẩn như 'N/A'.

Giải pháp: Sử dụng UPDATE với WHERE

Câu lệnh UPDATE kết hợp WHERE cho phép cập nhật chính xác các hàng thỏa mãn điều kiện.

1. Tạo bảng và chèn dữ liệu

CREATE TABLE DemoTable (
    FirstName VARCHAR(20),
    LastName VARCHAR(20),
    Age INT
);

INSERT INTO DemoTable VALUES
('John', 'Smith', 23),
('None', 'Miller', 28),
('None', 'Taylor', 26),
('Chris', 'Brown', 26);

2. Dữ liệu trước khi cập nhật

+-----------+----------+------+
| FirstName | LastName | Age  |
+-----------+----------+------+
| John      | Smith    |   23 |
| None      | Miller   |   28 |
| None      | Taylor   |   26 |
| Chris     | Brown    |   26 |
+-----------+----------+------+

3. Câu lệnh UPDATE

UPDATE DemoTable 
SET FirstName = 'N/A' 
WHERE FirstName = 'None';

4. Kết quả sau cập nhật

+-----------+----------+------+
| FirstName | LastName | Age  |
+-----------+----------+------+
| John      | Smith    |   23 |
| N/A       | Miller   |   28 |
| N/A       | Taylor   |   26 |
| Chris     | Brown    |   26 |
+-----------+----------+------+

Mở rộng: Cập nhật nhiều cột cùng lúc

UPDATE DemoTable 
SET FirstName = 'N/A', LastName = 'Unknown' 
WHERE FirstName = 'None' AND Age > 25;

Lưu ý quan trọng

  • Luôn kiểm tra điều kiện WHERE bằng SELECT trước khi chạy UPDATE.
  • Sử dụng transaction (START TRANSACTION / COMMIT / ROLLBACK) cho các cập nhật quan trọng.
  • Phân biệt 'None' (chuỗi) và NULL (giá trị rỗng) – chúng khác nhau hoàn toàn.