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

Tạo một cột trên bảng của tôi cho phép null nhưng được đặt theo mặc định là trống (không phải null)?

Bạn cần sử dụng từ khóa mặc định cho việc này. Cú pháp như sau -

 thay đổi bảng yourTableName thêm yourColumnName yourDataType NULL Default ''; 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

 mysql> tạo bảng AllowNullDefaulNotNullDemo -> (-> Id int NOT NULL AUTO_INCREMENT, -> UserName varchar (20), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,65 giây)  

Hãy để chúng tôi thêm một cột mới cho phép giá trị NULL nhưng giá trị mặc định được đặt thành NOT NULL. Truy vấn như sau -

 mysql> alter table AllowNullDefaulNotNullDemo thêm UserAddress varchar (20) NULL Default ''; Truy vấn OK, 0 hàng bị ảnh hưởng (1,04 giây) Bản ghi:0 Bản sao:0 Cảnh báo:0 

Bây giờ kiểm tra mô tả của bảng bằng lệnh DESC. Truy vấn như sau -

 mysql> desc AllowNullDefaulNotNullDemo; 

Sau đây là kết quả -

 + ------------- + ------------- + ------ + ----- + ----- ---- + ---------------- + | Lĩnh vực | Loại | Không có | Chìa khóa | Mặc định | Thêm | + ------------- + ------------- + ------ + ----- + ------ --- + ---------------- + | Id | int (11) | KHÔNG | PRI | NULL | auto_increment || Tên người dùng | varchar (20) | CÓ | | NULL | || UserAddress | varchar (20) | CÓ | | | | + ------------- + ------------- + ------ + ----- + ------- - + ---------------- + 3 hàng trong bộ (0,17 giây) 

Bây giờ bạn có thể chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert. Trong truy vấn bên dưới, cột UserAddress cho phép giá trị NULL và giá trị đặt mặc định là NOT NULL.

Hãy để chúng tôi chèn các bản ghi trong cột này. Truy vấn như sau -

 mysql> chèn vào giá trị AllowNullDefaulNotNullDemo (UserAddress) ('US'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào giá trị AllowNullDefaulNotNullDemo (UserAddress) (NULL); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây ) mysql> chèn vào giá trị AllowNullDefaulNotNullDemo () (); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) 

Kiểm tra các bản ghi cụ thể của cột mới được thêm vào, tức là UserAddress. Truy vấn như sau -

 mysql> chọn UserAddress từ AllowNullDefaulNotNullDemo; 

Sau đây là kết quả -

 + ------------- + | UserAddress | + ------------- + | CHÚNG TÔI || NULL || | + ------------- + 3 hàng trong bộ (0,00 giây)