Computer >> Máy Tính >  >> Lập trình >> MySQL

Xử lý trường cột MySQL là NULL nếu nó trống?

Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable1362 -> (-> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ClientName varchar (40) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,67 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào các giá trị DemoTable1362 (ClientName) ('Chris'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào các giá trị DemoTable1362 (ClientName) (''); Truy vấn OK, 1 hàng bị ảnh hưởng (0,08 sec) mysql> chèn vào các giá trị DemoTable1362 (ClientName) ('Bob'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào các giá trị DemoTable1362 (ClientName) (''); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây ) mysql> chèn vào các giá trị DemoTable1362 (ClientName) ('David'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị DemoTable1362 (ClientName) (NULL); Truy vấn OK, 1 hàng bị ảnh hưởng (0,07 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

 mysql> select * từ DemoTable1362; 

Điều này sẽ tạo ra kết quả sau -

 + ---------- + ------------ + | ClientId | ClientName | + ---------- + ------------ + | 1 | Chris || 2 | || 3 | Bob || 4 | || 5 | David || 6 | NULL | + ---------- + ------------ + 6 hàng trong bộ (0,00 giây) 

Sau đây là truy vấn để coi một trường cột là null nếu nó trống -

 mysql> update DemoTable1362 -> set ClientName =NULL -> where ClientName ='' or length (ClientName) =0; Truy vấn OK, 2 hàng bị ảnh hưởng (0,21 giây) Các hàng khớp:2 Đã thay đổi:2 Cảnh báo:0  

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa -

 mysql> select * từ DemoTable1362; 

Điều này sẽ tạo ra kết quả sau -

 + ---------- + ------------ + | ClientId | ClientName | + ---------- + ------------ + | 1 | Chris || 2 | NULL || 3 | Bob || 4 | NULL || 5 | David || 6 | NULL | + ---------- + ------------ + 6 hàng trong bộ (0,00 giây)