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

Tạo cột cho phép NULL nhưng mặc định rỗng (empty string) trong MySQL

Để tạo cột cho phép NULL nhưng giá trị mặc định là chuỗi rỗng '' (khác NULL), sử dụng NULL DEFAULT ''.

Cú pháp

ALTER TABLE ten_bang ADD ten_cot kieu_du_lieu NULL DEFAULT '';

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE AllowNullDefaulNotNullDemo (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> UserName VARCHAR(20),
    -> PRIMARY KEY(Id)
    -> );

Thêm cột UserAddress cho phép NULL, mặc định rỗng:

mysql> ALTER TABLE AllowNullDefaulNotNullDemo 
    -> ADD UserAddress VARCHAR(20) NULL DEFAULT '';
Query OK, 0 rows affected (1.04 sec)

Kiểm tra cấu trúc:

+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| Id          | int(11)     | NO   | PRI | NULL    | auto_increment |
| UserName    | varchar(20) | YES  |     | NULL    |                |
| UserAddress | varchar(20) | YES  |     |         |                |
+-------------+-------------+------+-----+---------+----------------+

Cột Default hiển thị trống (chuỗi rỗng), cột Null = YES.

Chèn dữ liệu test:

mysql> INSERT INTO AllowNullDefaulNotNullDemo(UserAddress) VALUES('US');
mysql> INSERT INTO AllowNullDefaulNotNullDemo(UserAddress) VALUES(NULL);
mysql> INSERT INTO AllowNullDefaulNotNullDemo() VALUES();

Kết quả:

+-------------+
| UserAddress |
+-------------+
| US          |
| NULL        |
|             |
+-------------+

Hàng 3 (INSERT không chỉ định cột) nhận giá trị mặc định '' (chuỗi rỗng), không phải NULL.

Phân biệt NULL vs Empty String

Đặc điểmNULLEmpty String ''
Ý nghĩaChưa có giá trị / không xác địnhGiá trị là chuỗi rỗng
IS NULLTRUEFALSE
= ''FALSE (NULL)TRUE
LENGTH()NULL0
COUNT(cot)Không đếmĐếm